domain-skills: add claude-ai internal chat API#497
Open
johncheng-max wants to merge 2 commits into
Open
Conversation
console.neon.tech navigation, branch picker, finding compute endpoint hostnames, and the connection-string whitespace trap (the connect dialog renders the host across multiple inline spans, so naive textContent reads yield 'aws .neon.tech' — strip all whitespace, since postgres URLs can't legally contain any). Also corrects a piece of folklore: free-plan branches do NOT share one compute endpoint — each branch has its own, observable in the Branches table's Primary compute column. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
http_get gets Cloudflare-challenged on claude.ai/api/*; in-page fetch() from an authenticated tab works. Documents the organizations / chat_conversations endpoint shapes, verified live 2026-07-07. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
✅ Skill review passedReviewed 2 file(s) — no findings. |
Contributor
There was a problem hiding this comment.
1 issue found across 2 files
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="domain-skills/neon/console.md">
<violation number="1" location="domain-skills/neon/console.md:53">
P3: The prose includes a raw pixel coordinate (`x=124, y=310` for a 1442×1508 viewport) to describe where the branch-picker button appears. This is viewport-dependent and will be wrong at different window sizes, zoom levels, or after layout changes. The code snippet just below already shows the correct approach — find the button by selector + text matching. Drop the coordinate from the description; the selector-based code is the durable reference.</violation>
</file>
Reply with feedback, questions, or to request a fix.
Fix all with cubic | Re-trigger cubic
|
|
||
| ## Branch picker (left nav, "BRANCH" combobox) | ||
|
|
||
| Below the PROJECT nav. Currently selected branch's name is shown in a button at roughly `x=124, y=310` for a default 1442×1508 viewport. Clicking opens a dropdown listing all branches with a checkmark on the current one. |
Contributor
There was a problem hiding this comment.
P3: The prose includes a raw pixel coordinate (x=124, y=310 for a 1442×1508 viewport) to describe where the branch-picker button appears. This is viewport-dependent and will be wrong at different window sizes, zoom levels, or after layout changes. The code snippet just below already shows the correct approach — find the button by selector + text matching. Drop the coordinate from the description; the selector-based code is the durable reference.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At domain-skills/neon/console.md, line 53:
<comment>The prose includes a raw pixel coordinate (`x=124, y=310` for a 1442×1508 viewport) to describe where the branch-picker button appears. This is viewport-dependent and will be wrong at different window sizes, zoom levels, or after layout changes. The code snippet just below already shows the correct approach — find the button by selector + text matching. Drop the coordinate from the description; the selector-based code is the durable reference.</comment>
<file context>
@@ -0,0 +1,123 @@
+
+## Branch picker (left nav, "BRANCH" combobox)
+
+Below the PROJECT nav. Currently selected branch's name is shown in a button at roughly `x=124, y=310` for a default 1442×1508 viewport. Clicking opens a dropdown listing all branches with a checkmark on the current one.
+
+```python
</file context>
Suggested change
| Below the PROJECT nav. Currently selected branch's name is shown in a button at roughly `x=124, y=310` for a default 1442×1508 viewport. Clicking opens a dropdown listing all branches with a checkmark on the current one. | |
| Below the PROJECT nav. Click the button showing the current branch name (visible text) — it opens a dropdown listing all branches with a checkmark on the current one. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds a domain skill for claude.ai's internal chat API.
What it captures:
http_get()(cookieless urllib) againstclaude.ai/api/*always returns a Cloudflare managed challenge. The reliable path isfetch()inside an authenticated claude.ai tab — same-origin, real cookies, real fingerprint./api/organizations, the conversation list, and single-conversation transcripts (chat_messageswithsender/text), verified against live responses 2026-07-07.No user-specific data included.
🤖 Generated with Claude Code
Summary by cubic
Add domain skills for
claude.aiinternal chat API andconsole.neon.tech. Enables reading Claude chat transcripts from an authenticated tab and reliably extracting Neon branch endpoints and clean connection strings.claude-ai/api.md: Use in-tabfetch()from an authenticatedclaude.aitab to bypass Cloudflare; documentsGET /api/organizations, conversation list, and single-conversation endpoints withchat_messages(senderandtext); notes thatjs()resolves promises and returnsNoneif logged out.neon/console.md: Maps key routes and the BRANCH picker; confirms each branch has its own primary compute endpoint; shows how to open the compute drawer to read theep-...hostname; documents the connection-string whitespace trap and fixes (strip all whitespace or use “Copy snippet”); clarifies pooled-poolervs direct hosts.Written for commit 5ada5a7. Summary will update on new commits.