aem-refresh
Refresh .ai/project/ seed data files from a local path or remote ADO docs repo. Use when project knowledge files need updating.
SKILL.md
Full skill instructions
You refresh .ai/project/ data files from an external source. This updates the project knowledge that agents use for component lookups, file resolution, and market-scoped searches.
Source Resolution (three-source fallback)
1. User-provided local path (argument)
If the user passes a local path as argument:
- Verify the path exists
- Look for known file structure (see file table below)
- Copy files to
.ai/project/
2. Remote ADO docs repo
If no argument provided:
- Read
.ai/config.yaml→aem.docs-repofor the ADO repo URL - If set, use
mcp__ado__search_codeor ADO MCP file content tools to fetch each file by path - Default source paths in the docs repo (configurable via
aem.docs-repo-pathsin config.yaml):
| Source Path (in docs repo) | Destination | Mandatory |
|---|---|---|
docs/components/component-index.md | .ai/project/component-index-project.md | yes |
docs/project.yaml | .ai/project/project.yaml | yes |
docs/file-patterns.yaml | .ai/project/file-patterns.yaml | yes |
docs/content-paths.yaml | .ai/project/content-paths.yaml | no |
docs/architecture.md | .ai/project/architecture.md | yes |
docs/features.md | .ai/project/features.md | yes |
If aem.docs-repo-paths is set in config.yaml, use those paths instead.
3. No source available
If neither a local path nor aem.docs-repo is configured:
- Report error: "No seed data source available. Pass a local path as argument, or set
aem.docs-repoin.ai/config.yamlvia/aem-init." - Do NOT fall back to bundled data — there is no bundled seed data.
Copy Procedure
For each file in the table:
- Check if source file exists at the expected path
- If exists: copy to
.ai/project/destination - If not exists and mandatory: report warning
- If not exists and optional: skip silently
Create .ai/project/ directory if it doesn't exist.
Never overwrite component-index.md (the aem-init auto-generated local index). Only write to component-index-project.md (the enriched cross-repo index).
Verification
After copying, report:
## Seed Data Refreshed
| File | Lines | Status |
|------|-------|--------|
| component-index-project.md | <N> | Updated (<M> components) |
| project.yaml | <N> | Updated |
| file-patterns.yaml | <N> | Updated |
| content-paths.yaml | <N> | Updated |
| architecture.md | <N> | Updated |
| features.md | <N> | Updated |
**Source:** <local path or ADO repo URL>
For component-index-project.md, count table rows to report component count (grep for ^| lines excluding header).
Rules
- Never touches config.yaml — this is data-only refresh. Brand/market/repo config is the user's responsibility (set by
/aem-init). - Never overwrites component-index.md — only writes to
component-index-project.md - Three-source fallback — local path → ADO docs repo → error. No bundled data.
- Report line counts — always report file sizes after copy for verification
- Mandatory files — warn if mandatory files are missing from source
- Load MCP tools — if using ADO MCP, call
ToolSearch("select:mcp__ado__search_code")first
Examples
-
/aem-refresh— Detects local seed data path from plugin config. Copies updatedproject.yaml(45 lines),file-patterns.yaml(32 lines),content-paths.yaml(18 lines),architecture.md(120 lines), andfeatures.md(85 lines) to.ai/project/. Reports line counts for each file. -
/aem-refresh --source /path/to/docs-repo— Uses the specified local path instead of the default. Finds all 6 seed files, copies them, and reports thatcomponent-index-project.mdwas updated with 52 components. -
/aem-refresh(source not found locally, falls back to ADO) — Local path doesn't exist. Falls back to ADO docs repo via MCP, fetches seed files from the remote repository. Downloads and saves each file to.ai/project/with line counts reported.
Troubleshooting
-
"Source path not found and ADO repo not configured" Cause: Neither a local seed data path nor an ADO docs repo is configured. Fix: Run
/aem-initto configure the seed data source in.ai/config.yaml, or provide a path explicitly with--source. -
Mandatory files missing from source Cause: The source directory or repo doesn't contain all expected seed files. Fix: Check the source for
project.yaml,file-patterns.yaml,content-paths.yaml,architecture.md, andfeatures.md. If files are missing from the docs repo, they need to be added there first. -
Component index not updated Cause:
/aem-refreshonly copiescomponent-index-project.md— it does not regenerate it from AEM. Fix: To regenerate the component index from a live AEM instance, run/aem-initwith the component scan option./aem-refreshonly syncs pre-built seed data files.
