Skip to content

feat(create-site): add create-site onboarding skill for AEM EDS#68

Open
kptdobe wants to merge 2 commits intoadobe:mainfrom
kptdobe:feat/create-site-skill
Open

feat(create-site): add create-site onboarding skill for AEM EDS#68
kptdobe wants to merge 2 commits intoadobe:mainfrom
kptdobe:feat/create-site-skill

Conversation

@kptdobe
Copy link
Copy Markdown

@kptdobe kptdobe commented Apr 14, 2026

What this PR does

Adds a new create-site skill that automates the full zero-to-site onboarding flow for AEM Edge Delivery Services — from nothing to a live .aem.page preview URL.

Steps covered

  1. Gather inputs (GitHub org, repo name, site name)
  2. Create GitHub repo from adobe/aem-boilerplate template via gh CLI or GitHub API
  3. Install aem-code-sync GitHub App (human action + automated verification)
  4. Authenticate with DA via cached token, da-auth-helper, DA MCP, or manual token
  5. Create initial content in DA (nav, footer, index) via DA MCP or DA Admin API
  6. Trigger preview via admin.hlx.page for all three paths
  7. Hand off with live URLs and DA editing links

Learnings from a real end-to-end run

This skill was validated against a live site creation and updated with fixes for issues discovered during execution:

  • da-auth-helper is not on npm — must be installed from GitHub (npm install -g github:adobe-rnd/da-auth-helper); the tool caches tokens at ~/.aem/da-token.json which should be checked first
  • DA-sourced content requires Bearer auth on preview requests — even for public repos, admin.hlx.page/preview returns 401 without a token when content comes from DA
  • curl inline multiline content fails-F 'data=...' with multiline strings causes exit code 26; temp files + @/tmp/file.html syntax is required
  • /usr/bin/curl needed explicitly — bare curl can fail with "command not found" in subshells on macOS

Validation

npm run validate
# → Valid skill: skills/aem/edge-delivery-services/skills/create-site ✅

Related skills

This skill fills a gap not covered by existing skills. Once the site exists, users continue with content-driven-development, building-blocks, or page-import.

Note: Please apply the ai-generated label per CONTRIBUTING.md — it cannot be set from a fork PR.


🤖 Generated with Claude Code

Adds a new skill that automates the full zero-to-site onboarding flow:
GitHub repo creation from boilerplate, aem-code-sync installation,
DA content creation (nav/footer/index), and preview triggering.

Includes learnings from a real end-to-end run:
- da-auth-helper is installed from GitHub, not npm
- DA-sourced content requires Bearer auth on preview requests
- curl inline multiline content fails; temp files + @ syntax required
- /usr/bin/curl needed explicitly to avoid PATH issues in subshells

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown
Contributor

@trieloff trieloff left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good so far. When you have some time, ask Claude about creating an eval/scenario that touches the stuff that this skill covers, as it is relatively non-obvious stuff and should lead to good lift.

Comment thread skills/aem/edge-delivery-services/skills/create-site/SKILL.md Outdated
Comment thread skills/aem/edge-delivery-services/skills/create-site/SKILL.md Outdated
Comment thread skills/aem/edge-delivery-services/skills/create-site/SKILL.md Outdated
- Rewrite description to be utilitarian (remove 'zero-knowledge')
- Remove Node.js version pin (18+ is archaic, loosen to just Node.js)
- Generalise TodoWrite reference to agent-agnostic language
- Add create-site-onboarding eval covering the non-obvious DA-specific
  behaviours: cache-first token auth, preview Bearer requirement,
  curl temp-file pattern, and aem-code-sync verification

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@trieloff
Copy link
Copy Markdown
Contributor

Thanks for the evals.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants