Skip to content

Add convert-eip prompt#168

Draft
dionysuzx wants to merge 3 commits intoethereum:mainfrom
dionysuzx:add-convert-eip-prompt
Draft

Add convert-eip prompt#168
dionysuzx wants to merge 3 commits intoethereum:mainfrom
dionysuzx:add-convert-eip-prompt

Conversation

@dionysuzx
Copy link
Copy Markdown
Collaborator

@dionysuzx dionysuzx commented Mar 15, 2026

Summary

Adds an AI agent prompt for converting EIPs into forkcast JSON format.

How it works

This is a standalone prompt file meant to be invoked with any LLM coding agent (eg., claude prompts/convert-eip.md). It's not tied to any specific skill/tool framework — it's just a markdown file loaded into context when directly invoked.

  1. Prompts the user for inputs: EIP number, ACD call reference, champion's Discord handle, headliner proposal URL (if any), and optional status/context
  2. Fetches the raw EIP from ethereum/EIPs on GitHub (falls back to the PR branch for unmerged EIPs)
  3. Pulls commit history for the EIP file to understand how it evolved over time
  4. Finds the original "Add EIP" PR and fetches its full discussion — issue comments, line-level review comments, and review decisions
  5. Hits the Eth Magicians Discourse JSON API to get the discussion thread (first 20 posts by default; paginates via post_ids[] for longer threads). If a headliner proposal URL was provided, fetches that thread too.
  6. Searches local call transcripts (public/artifacts/) for mentions of the EIP in ACD/ACDE call recordings
  7. Fetches related EIPs if the spec has a requires field
  8. Generates two files: a {EIP}-context.md preserving all raw sources with URLs (local reference only, not committed), and the actual {EIP}.json mapped to forkcast's schema (src/types/eip.ts)
  9. Validates by running npm run compile-eips and npm run validate-eips --eip {N} --fix (auto-corrects title, status, author from canonical source)
  10. Opens a PR committing only the .json file, with a structured summary table of all sources used

The prompt enforces factual, non-speculative writing with word limits (80w description, 60w layman description, 16w benefits/tradeoffs, 20w stakeholder impacts) and marks all bot-generated EIPs with reviewer: "bot".

How to try it

  • Check out this PR, remove any random EIP (and commit the change so claude isn't confused).
  • Invoke claude prompts/convert-eip.md, and provide the requested details to the agent.

Next steps

  • Over time we can tune this v1 for our needs, refining it if output is incorrect, and perhaps even utilizing the promptfoo as mentioned by wolovim.
  • Try this in a ralph loop; one way to test this is remove a random sample of EIPs that we've hand generated, and then generate a PRD for a ralph loop to generate them with this prompt; then check the hamming distance between the changes and output them to get a rough idea of how close we are
  • Consider tightening allowed structure within Forkcast wrt pending EIP (is this redundant when we can just index an EIP, but give the draft PR in ethereum/pm)--reasoning is to make it more constrained and guided for an agent

Testing

  • Tested/tuned by dionysuzx to port several EIPs into Forkcast.

TODO

  • Make this PR easy for reviewers to test the PR for intended behavior
  • Remove the ACD call reference as a requirement for porting (the agent should be able to find this, if any references)

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.

1 participant