tendril-debug-job
Analyze a Tendril job's execution artifacts to identify issues and improvement opportunities…
Find "Tendrillable" GitHub issues - open, recent, code-requiring issues that an agent can plan and one-shot WITHOUT asking clarifying questions, with high probability of success. Classifies a repo's open issues against the Tendrillable rubric and prints a ranked list of issue
$ npx -y skills add Ivy-Interactive/Ivy-Tendril --skill tendrillable --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/tendrillableContext preview
The summary Claude sees to decide when to auto-load this skill.
Find "Tendrillable" GitHub issues - open, recent, code-requiring issues that an agent can plan and one-shot WITHOUT asking clarifying questions, with high probability of success. Classifies a repo's open issues against the Tendrillable rubric and prints a ranked list of issue
name: tendrillable description: >- Find "Tendrillable" GitHub issues - open, recent, code-requiring issues that an agent can plan and one-shot WITHOUT asking clarifying questions, with high probability of success. Classifies a repo's open issues against the Tendrillable rubric and prints a ranked list of issue URLs. Use when asked to find tendrillable issues, source candidates for Tendril, or triage a repo's backlog for one-shottable work. Usage: tendrillable <githubUrl> <amount>.
Given a GitHub repository, find issues that are **Tendrillable**: an open, recent issue that an agent can read, plan, and one-shot into a working code change - with no clarifying questions and a high probability of success. Output a ranked list of issue URLs.
/tendrillable <githubUrl> <amount>
This is a **high-precision** classifier. Returning fewer than `<amount>` is correct and expected when the backlog doesn't have enough qualifying issues. **Never pad the list with marginal issues** - a false positive that an agent can't actually one-shot is worse than a short list.
> A Tendrillable issue can be **fully resolved from the repo + the issue text alone** - no human in the loop, no missing context, and no judgment call about *what* to build. The agent cannot ask questions, so anything the issue leaves implicit must be inferable from the issue and the codebase.
1. **Open** - and not already solved-in-flight (not assigned, no linked/"fixes #" PR, no "fixed in <sha>" comment). 2. **Requires code** - the fix means writing/changing source code. Excludes docs-only, questions, support requests, dependency-bump/release chores, CI-config-only asks. 3. **Unambiguous outcome** - there is effectively one correct end-state. A bug with steps-to-reproduce + expected-vs-actual is ideal; a feature qualifies only if the desired behavior is fully specified. 4. **Localized** - small blast radius (ideally one subsystem / a handful of files). Excludes "redesign X", broad refactors, cross-cutting rewrites. 5. **Verifiable** - success is checkable, ideally by a test the agent can write/run or an obvious behavioral check. 6. **Self-contained** - no external blockers: no credentials/API keys/paid services, no upstream wait, no product/design decision, no special hardware to reproduce.
1. Normalize `<githubUrl>` to `OWNER/REPO`. 2. Default `AMOUNT=10` if not provided. 3. Confirm `gh auth status` succeeds. If not, tell the user to run `! gh auth login` and stop.
Pull more candidates than requested (newest first) so the judgment pass has room to reject:
REPO="OWNER/REPO"
AMOUNT=10
CANDIDATES=$(( AMOUNT * 5 < 50 ? 50 : AMOUNT * 5 )); [ "$CANDIDATES" -gt 200 ] && CANDIDATES=200
gh issue list -R "$REPO" --state open --limit "$CANDIDATES" \
--json number,title,body,labels,assignees,createdAt,updatedAt,comments,url \
| jq -c '
map(. + {lbl: ([.labels[].name] | map(ascii_downcase))})
# drop assigned (likely in progress)
| map(select((.assignees|length) == 0))
# drop obvious non-code / non-actionable by label
| map(select((.lbl | any(IN(
"question","discussion","needs discussion","needs-discussion",
"documentation","docs","wontfix","wont-fix","duplicate","invalid",
"rfc","needs info","needs-info","needs more information","stale","blocked"
))) | not))
# newest first
| sort_by(.createdAt) | reverse
'Notes:
For each surviving candidate, **read the title + body** and evaluate against the rubric:
1. Check every **necessary condition** (1–6). If any fails → **REJECT**. 2. Check **disqualifiers**. If any fires → **REJECT**. (Skim the comment count: many comments often signals debate - if `comments` is high, read enough to confirm there's no unresolved disagreement.) 3. If it passes, assign a **Tendrillability score 0–100**:
Keep enough survivors past this pass to backfill (Phase 2.5 will drop some).
The `gh issue list` label/assignee filter does **not** catch issues that already have a linked PR. An open or merged PR cross-referencing an issue means the work is done or in progress - **never return those**. In pr
AI agents can now write 99% of the code. This changes what it means to be a developer. Our role shifts to knowing "what good looks like". To do that, we need completely new developer tools. Tendril is what replaces your IDE in an agentic era.
Repo: Ivy-Interactive/Ivy-Tendril
Analyze a Tendril job's execution artifacts to identify issues and improvement opportunities…
Debug a Tendril plan by analyzing its execution logs, session JSONL, verification results,…
Manage, build, test, package, install, and debug the Ivy Tendril extension in Antigravity IDE…
Updates the used Ivy NuGet packages to the latest stable versions in a branch from…
Comprehensive post-change review of all modified files. Checks for code smells, cleanup…