Skip to content

feat(node): custom domain skill#125

Open
andrewbattat wants to merge 2 commits intomainfrom
andrew/custom-domain-skills
Open

feat(node): custom domain skill#125
andrewbattat wants to merge 2 commits intomainfrom
andrew/custom-domain-skills

Conversation

@andrewbattat
Copy link

@andrewbattat andrewbattat self-assigned this Mar 25, 2026
@andrewbattat andrewbattat requested review from a team and JoshDFN as code owners March 25, 2026 21:09
@github-actions
Copy link

github-actions bot commented Mar 25, 2026

Skill Validation Report

Validating skill: /home/runner/work/icskills/icskills/skills/custom-domains

Structure

  • Pass: SKILL.md found

Frontmatter

  • Pass: name: "custom-domains" (valid)
  • Pass: description: (643 chars)
  • Pass: license: "Apache-2.0"
  • Pass: compatibility: (45 chars)
  • Pass: metadata: (2 entries)

Markdown

  • Pass: no unclosed code fences found

Tokens

File Tokens
SKILL.md body 2,423
Total 2,423

Content Analysis

Metric Value
Word count 1,326
Code block ratio 0.23
Imperative ratio 0.17
Information density 0.20
Instruction specificity 0.75
Sections 16
List items 24
Code blocks 17

Contamination Analysis

Metric Value
Contamination level low
Contamination score 0.12
Primary language category shell
Scope breadth 3
  • Warning: Language mismatch: config, javascript (2 categories differ from primary)

Result: passed

Project Checks


✓ Project checks passed for 1 skills (0 warnings)

Copy link
Member

@marc0olo marc0olo left a comment

Choose a reason for hiding this comment

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

Thanks for the skill! Custom domains definitely deserves its own dedicated skill. A few changes to request before we merge:

1. Make the skill canister-agnostic

Custom domains work at the boundary node level — they map a domain to any canister ID via DNS, not just asset canisters. The skill should acknowledge this works with any HTTP-serving canister (asset canisters, Juno, custom canisters implementing http_request).

Specifically, mention in "What This Is" that this works with any canister that can serve /.well-known/ic-domains over HTTP.

2. Update the asset-canister skill

Since this is now a dedicated skill, please also update skills/asset-canister/SKILL.md:

  • Trim the "Custom Domain Setup" section (lines 123–158) down to a short cross-reference, something like: "For custom domain setup (DNS, TLS certificates, domain registration), see the custom-domains skill. The only asset-canister-specific detail: your .well-known/ic-domains file must be in your dir directory so it gets deployed."
  • Remove "configuring custom domains" and "custom domains" from the description field in the frontmatter (line 3) so agents don't trigger asset-canister for domain questions

3. Clean trigger separation between the two skills

The two skills need clear trigger boundaries so agents route queries to the right one:

In evaluations/custom-domains.json — add to should_not_trigger:

  • "How do I deploy a frontend on the IC?"
  • "Configure .ic-assets.json5 for my project"
  • "How do I upload files to an asset canister programmatically?"

In evaluations/asset-canister.json — add to should_not_trigger:

  • "How do I set up a custom domain on the IC?"
  • "Configure DNS for my IC canister"

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