Skip to content

docs(ensskills): add efp-protocol skill - #2325

Merged
shrugs merged 3 commits into
mainfrom
feat/efp-skill
Jun 19, 2026
Merged

docs(ensskills): add efp-protocol skill#2325
shrugs merged 3 commits into
mainfrom
feat/efp-skill

Conversation

@shrugs

@shrugs shrugs commented Jun 19, 2026

Copy link
Copy Markdown
Member

Closes #2324 (skill portion).

Adds an efp-protocol agent skill and wires it into the omnigraph skill as a conditional dependency (loaded when a query touches EFP fields).

  • efp-protocol/SKILL.md — EFP data model (lists, address records, tags, storage locations, account metadata), primary-list validation, block/mute follower semantics, and how it surfaces in the Omnigraph (Account.efp validated view vs. Query.efp raw queries), with example queries.
  • omnigraph/SKILL.md — conditional-dependency entry pointing at efp-protocol.
  • ensskills.mdx — skill list updated; changeset added (ensskills minor).

Validated: pnpm -F ensskills generate (no drift), pnpm lint, example queries checked against the generated schema.

Out of scope: the SDK example-query and plugin-doc parts of #2324.

…ency

Adds an efp-protocol skill orienting agents on the Ethereum Follow
Protocol data model and how it surfaces in the Omnigraph (query.efp /
Account.efp). The omnigraph skill declares efp-protocol as a conditional
dependency, loaded when a query touches EFP fields.

Refs #2324
Copilot AI review requested due to automatic review settings June 19, 2026 20:07
@shrugs
shrugs requested a review from a team as a code owner June 19, 2026 20:07
@changeset-bot

changeset-bot Bot commented Jun 19, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 7e129ec

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 22 packages
Name Type
ensskills Minor
ensindexer Minor
ensadmin Minor
ensrainbow Minor
ensapi Minor
fallback-ensapi Minor
enssdk Minor
enscli Minor
enskit Minor
@ensnode/datasources Minor
@ensnode/ensrainbow-sdk Minor
@ensnode/ensdb-sdk Minor
@ensnode/ensnode-sdk Minor
@ensnode/integration-test-env Minor
@ensnode/ponder-sdk Minor
@ensnode/ponder-subgraph Minor
@ensnode/shared-configs Minor
@docs/ensnode Minor
@docs/ensrainbow Minor
@namehash/ens-referrals Minor
@namehash/namehash-ui Minor
@ensnode/ensindexer-perf-testing Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@vercel

vercel Bot commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
admin.ensnode.io Ready Ready Preview, Comment Jun 19, 2026 8:32pm
enskit-react-example.ensnode.io Ready Ready Preview, Comment Jun 19, 2026 8:32pm
ensnode.io Ready Ready Preview, Comment Jun 19, 2026 8:32pm
ensrainbow.io Ready Ready Preview, Comment Jun 19, 2026 8:32pm

@coderabbitai

coderabbitai Bot commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Caution

Review failed

An error occurred during the review process. Please try again later.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/efp-skill

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR adds a new efp-protocol agent skill under packages/ensskills to document Ethereum Follow Protocol concepts and how EFP data is queried via the ENS Omnigraph, then wires that skill into the existing omnigraph skill as a conditional dependency. It also updates the public docs skill list and ships a Changesets entry for the release.

Changes:

  • Add packages/ensskills/skills/efp-protocol/SKILL.md describing EFP’s list/record/tag model, primary-list validation, and Omnigraph query shapes with example queries.
  • Update packages/ensskills/skills/omnigraph/SKILL.md to conditionally load efp-protocol and improve some inline query comments/examples.
  • Update docs + release metadata (ensskills.mdx, .changeset) to include the new skill.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 6 comments.

File Description
packages/ensskills/skills/omnigraph/SKILL.md Documents efp-protocol as a conditional dependency and refines example/query comments.
packages/ensskills/skills/efp-protocol/SKILL.md New skill introducing EFP concepts + Omnigraph field guidance and example queries.
docs/ensnode.io/src/content/docs/docs/integrate/integration-options/ensskills.mdx Adds efp-protocol to the canonical docs skill list.
.changeset/efp-protocol-skill.md Announces the new skill and the omnigraph dependency change for release notes.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread packages/ensskills/skills/omnigraph/SKILL.md Outdated
Comment thread packages/ensskills/skills/efp-protocol/SKILL.md
Comment thread packages/ensskills/skills/efp-protocol/SKILL.md Outdated
Comment thread packages/ensskills/skills/efp-protocol/SKILL.md
Comment thread docs/ensnode.io/src/content/docs/docs/integrate/integration-options/ensskills.mdx Outdated
Comment thread .changeset/efp-protocol-skill.md Outdated
@greptile-apps

greptile-apps Bot commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR adds a new efp-protocol skill to the ensskills package, documenting how the Ethereum Follow Protocol (EFP) onchain social graph works and how it surfaces in the ENS Omnigraph API. It also wires the new skill into the omnigraph skill as a conditional dependency and updates the public-facing ensskills documentation page.

  • efp-protocol/SKILL.md covers the full EFP data model: List NFTs, List Records, tags (block/mute/top8/custom), Storage Locations, Account Metadata, primary-list two-step validation, and derived following/followers semantics — with three example queries checked against the generated schema.
  • omnigraph/SKILL.md adds the conditional-dependency entry for efp-protocol, inline clarifying comments to several existing example queries, and fixes the DomainResolver example to show assigned and effective as sibling resolver fields (removing the previously incorrect events sub-selection from assigned).
  • ensskills.mdx inserts efp-protocol into the skill list and a minor changeset is added.

Confidence Score: 5/5

Documentation-only change with no runtime code; safe to merge.

All four changed files are Markdown/MDX documentation. The new skill accurately describes the EFP data model, primary-list validation rules, and block/mute semantics; the conditional-dependency wiring in the omnigraph skill is correctly described as conditional (not unconditional). The DomainResolver example query fix (moving effective from inside assigned to a sibling field) aligns with the stated schema validation. No runtime logic is touched.

No files require special attention.

Important Files Changed

Filename Overview
packages/ensskills/skills/efp-protocol/SKILL.md New skill file documenting the EFP data model, primary-list validation, block/mute semantics, Omnigraph entry points, and three example GraphQL queries; content is accurate and well-structured.
packages/ensskills/skills/omnigraph/SKILL.md Adds conditional efp-protocol dependency entry, clarifying inline comments to existing queries, and corrects the DomainResolver example to use sibling assigned/effective resolver fields.
docs/ensnode.io/src/content/docs/docs/integrate/integration-options/ensskills.mdx Inserts the efp-protocol skill description in the correct position in the skill list; description accurately summarises the skill and correctly notes it as a conditional dependency.
.changeset/efp-protocol-skill.md Minor changeset entry for ensskills; description is accurate and appropriately scoped.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[Agent loads omnigraph skill] --> B{Query touches EFP fields?}
    B -- No --> C[Run query with omnigraph alone]
    B -- Yes --> D[Load efp-protocol skill first]
    D --> E{Account.efp or Query.efp?}
    E -- Account.efp --> F[Validated + filtered view\nfollowing / followers\nprimaryList]
    E -- Query.efp --> G[Raw list-centric queries\nefp.list / efp.lists\nefp.listRecords]
    F --> H[Primary-list validation\n1. metadata names tokenId\n2. list user == account]
    H --> I[block/mute filtered out\nof following & followers]
    G --> J[Raw records returned\nIncludes block/mute\nAny list - no validation]
Loading
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
    A[Agent loads omnigraph skill] --> B{Query touches EFP fields?}
    B -- No --> C[Run query with omnigraph alone]
    B -- Yes --> D[Load efp-protocol skill first]
    D --> E{Account.efp or Query.efp?}
    E -- Account.efp --> F[Validated + filtered view\nfollowing / followers\nprimaryList]
    E -- Query.efp --> G[Raw list-centric queries\nefp.list / efp.lists\nefp.listRecords]
    F --> H[Primary-list validation\n1. metadata names tokenId\n2. list user == account]
    H --> I[block/mute filtered out\nof following & followers]
    G --> J[Raw records returned\nIncludes block/mute\nAny list - no validation]
Loading

Reviews (4): Last reviewed commit: "fix: bot notes (loop 1)" | Re-trigger Greptile

Comment thread packages/ensskills/skills/efp-protocol/SKILL.md Outdated
Comment thread packages/ensskills/skills/efp-protocol/SKILL.md Outdated
- Query.efp capitalization (omnigraph, ensskills.mdx, changeset)
- tags: describe as opaque UTF-8 strings, not lowercase-restricted
- block: drop 'mutual exclusion' over-claim to match Omnigraph followers semantics
- clarify omnigraph->efp-protocol dependency is conditional
@shrugs

shrugs commented Jun 19, 2026

Copy link
Copy Markdown
Member Author

@greptile review

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated no new comments.

@shrugs
shrugs merged commit 9fd6918 into main Jun 19, 2026
21 checks passed
@shrugs
shrugs deleted the feat/efp-skill branch June 19, 2026 20:57
@github-actions github-actions Bot mentioned this pull request Jun 19, 2026
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.

EFP follow-ups: skill, Omnigraph example queries, and plugin documentation

2 participants