GEE Agent Skill
Build reviewable Earth Engine workflows through the gee-skill CLI and the official Earth Engine Python API. Keep the normal path plan-first, source-grounded, traceable, and explicit about what was actually verified.
Core Workflow
- Work from the repository root. Check the installed surface with:
gee-skill info --json, gee-skill doctor --json, gee-skill recipe list --json, and gee-skill rules list --json.
- Convert the request into an editable plan:
gee-skill plan from-text "<request>" --json.
If it returns AMBIGUOUS_TASK, report the missing fields instead of guessing.
- Select a registered recipe and retrieve evidence:
gee-skill recipe show <recipe-id> --json,
gee-skill catalog recommend --task-type <type> --metric <metric> --json, and
gee-skill search-docs "<dataset operator failure query>" --json.
- Review the plan and resolve an unclear AOI:
gee-skill plan review <plan.yaml> --json and
gee-skill aoi resolve "<request>" --json.
- Render and validate before live work:
gee-skill render <plan.yaml> --script-out <script.py> --json and
gee-skill validate <script.py> --json.
- Run preflight with an explicit project:
gee-skill preflight <plan.yaml> --project <project-id> --json.
Treat V03_CONTEXT_REVIEW_REQUIRED as missing reviewed context, not an authentication failure.
- Run live only after preflight and explicit confirmation:
gee-skill run <plan.yaml> --project <project-id> --confirm-live --json.
- Monitor submitted exports:
gee-skill exports list --project <project-id> --json or
gee-skill exports watch --project <project-id> --task-id <id> --json.
- Inspect the persisted trace before reporting results:
gee-skill trace inspect <run_id> --json.
- Run
gee-skill eval evals/benchmark_quick_reference.yml --json, then gee-skill eval evals/benchmark_suite.yml --json. Check docs/capability_matrix.md before assigning a readiness label.
Evidence And Claim Boundaries
- Say
live verified only when the capability matrix records a completed public live path. Otherwise use the exact supported level: render/validate verified, dry-run verified, mocked preflight blocked, planned, or experimental.
- Treat exports and model outputs as workflow artifacts, not scientific conclusions or ground truth.
- Prefer official Earth Engine documentation and Data Catalog facts. Use papers and community sources only for scoped methods or patterns.
- When promoting a reusable lesson, add a dataset, rule, failure, or workflow card with a source,
last_checked, scope, limitations, and explicit non-claims.
- Treat omitted private context as intentionally unknown. Do not infer, reconstruct, retrieve, or publish it from nearby files, issue history, or examples.
- Keep real study identifiers, project and asset IDs, bucket and object names, task IDs, private source files, draft manuscripts, and unpublished results outside the public repository.
Official And User Learning Layers
Keep the versioned repository knowledge base separate from user-owned Obsidian
or Markdown learning. A user Skill may retain private evidence and personal
rules; it may export only an explicitly approved, sanitized candidate manifest.
Inspect the interface with gee-skill learning contract --json and review a
candidate with
gee-skill learning review-manifest <promotion-manifest.json> --json.
Treat candidate_review_ready as a transport/privacy result only. Before an
item enters this Skill, independently reproduce it, verify official facts, map
it to a public target and regression, run the release gates, and obtain
maintainer approval in a versioned release. Never read the raw user vault or
overwrite the user's local Skill.
Live And Private Data Safety
- Never request or persist OAuth files, API keys, service-account JSON, tokens, private keys, client secrets, credential paths, or credential contents.
- Require user authority for billing, organization policy, licenses, interactive authentication, access broadening, destructive asset changes, and unavailable local-to-cloud upload surfaces.
- For private raster ingestion, request only the minimum non-secret checkpoint needed to resume. Then continue task monitoring, asset-semantic checks, failed-subset retry, preflight, and downstream code without returning routine operations to the user.
- Never add
--force, overwrite, deletion, public access, or broader IAM as a generic recovery step.
- Keep categorical rasters on reviewed class semantics: no bilinear interpolation of class codes, explicit no-data behavior, reviewed pyramiding, and declared whole-cell versus valid-area fraction denominators.
Read references/knowledge_base/workflows/private-raster-ingestion-handoff.md for the private-ingestion state machine and docs/tool_permissions.md for tool and authority boundaries.
Inputs And Outputs
Prefer editable gee-plan/v0.3 YAML. Record the AOI, dates, dataset IDs, metric, cloud policy, reducer, scale, CRS, export target, validation rules, and claim limitations.
Persist each planned or executed run under outputs/runs/<run_id>/. The run directory should contain the plan, generated script, retrieval and validation evidence, applicable preflight or export-task records, environment metadata, and final report. See docs/harness.md for the artifact contract.
Read On Demand
- Setup and command details: docs/how_to_start.md, docs/cli_reference.md, and docs/troubleshooting.md.
- Recipes and readiness: docs/recipes.md, docs/capability_matrix.md, docs/benchmark_protocol.md, and docs/benchmark_reference.md.
- Evidence and extension: docs/kg_rag_architecture.md, docs/source_policy.md, references/knowledge_base/workflows/github-knowledge-distillation.md, references/knowledge_base/workflows/user-local-learning-overlay.md, references/knowledge_base/rules/data-usage-promotion-contract.md, and docs/extending.md.
- Public examples and validation limits: docs/demo_gallery.md and docs/remote_sensing_validation.md.
1---2name: gee-agent-skill3description: Plan, ground, render, validate, preflight, run, and audit reproducible Google Earth Engine Python workflows with source-backed recipes, export monitoring, and run traces. Use for GEE task planning, script generation, dataset or operator retrieval, private-raster handoffs, annual multi-source workflows, knowledge-base distillation, and evidence-bounded evaluation.4---56# GEE Agent Skill78Build reviewable Earth Engine workflows through the `gee-skill` CLI and the official Earth Engine Python API. Keep the normal path plan-first, source-grounded, traceable, and explicit about what was actually verified.910## Core Workflow11121. Work from the repository root. Check the installed surface with:13 `gee-skill info --json`, `gee-skill doctor --json`, `gee-skill recipe list --json`, and `gee-skill rules list --json`.142. Convert the request into an editable plan:15 `gee-skill plan from-text "<request>" --json`.16 If it returns `AMBIGUOUS_TASK`, report the missing fields instead of guessing.173. Select a registered recipe and retrieve evidence:18 `gee-skill recipe show <recipe-id> --json`,19 `gee-skill catalog recommend --task-type <type> --metric <metric> --json`, and20 `gee-skill search-docs "<dataset operator failure query>" --json`.214. Review the plan and resolve an unclear AOI:22 `gee-skill plan review <plan.yaml> --json` and23 `gee-skill aoi resolve "<request>" --json`.245. Render and validate before live work:25 `gee-skill render <plan.yaml> --script-out <script.py> --json` and26 `gee-skill validate <script.py> --json`.276. Run preflight with an explicit project:28 `gee-skill preflight <plan.yaml> --project <project-id> --json`.29 Treat `V03_CONTEXT_REVIEW_REQUIRED` as missing reviewed context, not an authentication failure.307. Run live only after preflight and explicit confirmation:31 `gee-skill run <plan.yaml> --project <project-id> --confirm-live --json`.328. Monitor submitted exports:33 `gee-skill exports list --project <project-id> --json` or34 `gee-skill exports watch --project <project-id> --task-id <id> --json`.359. Inspect the persisted trace before reporting results:36 `gee-skill trace inspect <run_id> --json`.3710. Run `gee-skill eval evals/benchmark_quick_reference.yml --json`, then `gee-skill eval evals/benchmark_suite.yml --json`. Check [docs/capability_matrix.md](docs/capability_matrix.md) before assigning a readiness label.3839## Evidence And Claim Boundaries4041- Say `live verified` only when the capability matrix records a completed public live path. Otherwise use the exact supported level: `render/validate verified`, `dry-run verified`, `mocked preflight blocked`, `planned`, or `experimental`.42- Treat exports and model outputs as workflow artifacts, not scientific conclusions or ground truth.43- Prefer official Earth Engine documentation and Data Catalog facts. Use papers and community sources only for scoped methods or patterns.44- When promoting a reusable lesson, add a dataset, rule, failure, or workflow card with a source, `last_checked`, scope, limitations, and explicit non-claims.45- Treat omitted private context as intentionally unknown. Do not infer, reconstruct, retrieve, or publish it from nearby files, issue history, or examples.46- Keep real study identifiers, project and asset IDs, bucket and object names, task IDs, private source files, draft manuscripts, and unpublished results outside the public repository.4748## Official And User Learning Layers4950Keep the versioned repository knowledge base separate from user-owned Obsidian51or Markdown learning. A user Skill may retain private evidence and personal52rules; it may export only an explicitly approved, sanitized candidate manifest.5354Inspect the interface with `gee-skill learning contract --json` and review a55candidate with56`gee-skill learning review-manifest <promotion-manifest.json> --json`.57Treat `candidate_review_ready` as a transport/privacy result only. Before an58item enters this Skill, independently reproduce it, verify official facts, map59it to a public target and regression, run the release gates, and obtain60maintainer approval in a versioned release. Never read the raw user vault or61overwrite the user's local Skill.6263## Live And Private Data Safety6465- Never request or persist OAuth files, API keys, service-account JSON, tokens, private keys, client secrets, credential paths, or credential contents.66- Require user authority for billing, organization policy, licenses, interactive authentication, access broadening, destructive asset changes, and unavailable local-to-cloud upload surfaces.67- For private raster ingestion, request only the minimum non-secret checkpoint needed to resume. Then continue task monitoring, asset-semantic checks, failed-subset retry, preflight, and downstream code without returning routine operations to the user.68- Never add `--force`, overwrite, deletion, public access, or broader IAM as a generic recovery step.69- Keep categorical rasters on reviewed class semantics: no bilinear interpolation of class codes, explicit no-data behavior, reviewed pyramiding, and declared whole-cell versus valid-area fraction denominators.7071Read [references/knowledge_base/workflows/private-raster-ingestion-handoff.md](references/knowledge_base/workflows/private-raster-ingestion-handoff.md) for the private-ingestion state machine and [docs/tool_permissions.md](docs/tool_permissions.md) for tool and authority boundaries.7273## Inputs And Outputs7475Prefer editable `gee-plan/v0.3` YAML. Record the AOI, dates, dataset IDs, metric, cloud policy, reducer, scale, CRS, export target, validation rules, and claim limitations.7677Persist each planned or executed run under `outputs/runs/<run_id>/`. The run directory should contain the plan, generated script, retrieval and validation evidence, applicable preflight or export-task records, environment metadata, and final report. See [docs/harness.md](docs/harness.md) for the artifact contract.7879## Read On Demand8081- Setup and command details: [docs/how_to_start.md](docs/how_to_start.md), [docs/cli_reference.md](docs/cli_reference.md), and [docs/troubleshooting.md](docs/troubleshooting.md).82- Recipes and readiness: [docs/recipes.md](docs/recipes.md), [docs/capability_matrix.md](docs/capability_matrix.md), [docs/benchmark_protocol.md](docs/benchmark_protocol.md), and [docs/benchmark_reference.md](docs/benchmark_reference.md).83- Evidence and extension: [docs/kg_rag_architecture.md](docs/kg_rag_architecture.md), [docs/source_policy.md](docs/source_policy.md), [references/knowledge_base/workflows/github-knowledge-distillation.md](references/knowledge_base/workflows/github-knowledge-distillation.md), [references/knowledge_base/workflows/user-local-learning-overlay.md](references/knowledge_base/workflows/user-local-learning-overlay.md), [references/knowledge_base/rules/data-usage-promotion-contract.md](references/knowledge_base/rules/data-usage-promotion-contract.md), and [docs/extending.md](docs/extending.md).84- Public examples and validation limits: [docs/demo_gallery.md](docs/demo_gallery.md) and [docs/remote_sensing_validation.md](docs/remote_sensing_validation.md).