feat(skills): add anonymous-first GitHub research skill (#4267 item 4) - #4739
Closed
liugddx wants to merge 1 commit into
Closed
feat(skills): add anonymous-first GitHub research skill (#4267 item 4)#4739liugddx wants to merge 1 commit into
liugddx wants to merge 1 commit into
Conversation
Delivers the "structured public GitHub research" item of the harness friction umbrella (apache#4267, item 4). A real extended session had to improvise a fragile chain for ordinary public research: gh search -> 401 -> anonymous REST -> repository redirect discovery -> REST fetch -> GraphQL auth failure -> HTML scraping -> link extraction -> per-page fetch -> extra metadata calls. This skill replaces that with one dependable route: - resolve canonical repository redirects first (Maka-Agent/maka-agent -> apache/maka) so every later call targets the real repo; - prefer unauthenticated REST for issues, PRs, comments, timelines, and search; recover author/state/labels/linked-work from JSON instead of scraping HTML; - treat GitHub Discussions as the sanctioned auth exception (anonymous GraphQL returns 403) with a documented escalation, not a scrape; - record X-RateLimit evidence and classify 401/403/404/redirect failures so an empty result is never reported as "nothing found". No new capability, permission, or network authority: it runs on tools Maka already exposes (ShellRun/curl, gh, WebFetch) and never embeds credentials in the model context. It is the unauthenticated-first precursor the umbrella asks for before any forge adapter is promoted into core. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Member
Author
|
Closing: a skill is not the right vehicle for this. Structured public GitHub research (issue #4267 item 4) may instead live in a separate repo or a public skill repo. Withdrawing to avoid adding low-value surface here. |
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.
What
Adds an anonymous-first GitHub research skill (
skills/maka-github-research/) that gives Maka one dependable route for inspecting public repositories — issues, PRs, discussions, comments, timelines — without local CLI credentials, HTML scraping, or several custom parsers.Delivers item 4 ("Structured public GitHub research") of the harness friction umbrella #4267, which is marked "Open; no focused delivery issue yet" and asks specifically for "an unauthenticated-first GitHub research skill/plugin before promoting a forge adapter into core."
Why (evidence from #4267)
A real extended Maka session had to improvise this chain for ordinary public research:
Each symptom was reproduced against
apache/makawhile writing this skill:Maka-Agent/maka-agent→apache/maka301→ resolves tofull_name: apache/makagh searchreturned401(stale local token)POST /graphql→403/rate_limit→X-RateLimit-Limit: 60, headers presentRemaining/Resetevidence in every answer/issues/4267returns state, labels,comments: 5as JSON(Notably, the REST API reports
comments: 5on #4267 where a WebFetch of the page reported "no comments" — the API is authoritative, which is exactly the skill's point.)Contents
SKILL.md— core principle (anonymous-first, escalate on401/403evidence), the resolve→pick-endpoint→paginate→collect→evidence workflow, the Discussions exception, and non-goals.references/rest-recipes.md— copy-paste, tested anonymous recipes: canonical resolution, single issue/PR, comments, timeline (linked work / labels), repo-scoped search, PR files + unified diff, repo facts, and the authenticated Discussions GraphQL query.references/rate-limits-and-escalation.md— anonymous budgets, an evidence-header table, a failure-classification table (rate-limited vs forbidden vs renamed vs empty), the escalation ladder, and how to add a token without leaking it.Scope discipline (per #4267)
ShellRun/curl,gh,WebFetch). It is a research recipe layer, not a forge adapter and not a new permission/network surface.ghkeyring and are never echoed.Test / verification
All recipes were exercised against
apache/makafrom an unauthenticated client (curlonly). Endpoint behavior verified: canonical redirect,/issues/{n},/search/issues(200),/pulls/{n}/files,/rate_limitheaders, and anonymous/graphql(403). The reference notesjq-free fallbacks (gh api --jq,python3 -m json.tool) sincejqis not guaranteed present.Refs #4267