Not in the top 1,000 by GitHub stars
angelwzr/linux-phone-porting
A coding agent skill to help you port mainline Linux to phones, tablets and other suitable devices
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 00d1c5c03506
No earlier version was observed for comparison.
Heat
3.4- Star growth, last 7 daysNot available
- Star growth, last 24 hoursNot available
- Rank movement, last 7 daysNot available
- Commits, last 30 daysNot available
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekNot available
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
30-day change not yet available: not enough history.
Individual skills in this repository
How it works
linux-phone-porting
When your agent uses it
Use for every hardware bring-up or debug session that ports mainline Linux to a phone or tablet. Retail-unlock targets require an already-unlocked bootloader; locked retail bootloaders are out of scope. Exploit-booted and firmware-booted targets require a demonstrated boot path; the skill never provides unlock or exploit steps.
What it loads into context
Frontmatter
77 tokensAlways available to the agent
SKILL.md
15,125 tokensWhen the skill is activated
Reference documents
29,039 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 0. Set up the port
- 1. Gather evidence from the live device first
- 2. Research before implementing — all of these sources
- 3. Implement only with a promising, evidence-backed hypothesis
Files
.gitignoreasset142 bytesCHANGELOG.mddoc52,307 bytesLICENSEasset18,657 bytesREADME.mddoc26,795 bytesSKILL.mdcore74,705 bytesSKILL.mdcore74,705 bytesSKILL.mdcore74,705 bytesSKILL.mdcore74,705 bytesSKILL.mdcore74,705 bytesSKILL.mdcore74,705 bytesSKILL.mdcore74,705 bytesSKILL.mdcore74,705 bytesSKILL.mdcore74,705 bytesSKILL.mdcore74,705 bytesSKILL.mdcore74,705 bytesSKILL.mdcore74,705 bytesSKILL.mdcore74,705 bytesSKILL.mdcore74,705 bytesSKILL.mdcore74,705 bytesSKILL.mdcore74,705 bytesSKILL.mdcore74,705 bytesSKILL.mdcore74,705 bytesSKILL.mdcore74,705 bytesSKILL.mdcore74,705 bytesSKILL.mdcore74,705 bytesSKILL.mdcore74,705 bytescommands/evidence-sweep.mddoc5,021 bytescommands/flash-gate.mddoc7,246 bytescommands/linux-phone-porting-update.mddoc5,773 bytescommands/port-cleanup.mddoc6,645 bytescommands/port-loop.mddoc6,586 bytescommands/port-research.mddoc4,567 bytescommands/port-setup.mddoc7,899 bytescommands/port-update.mddoc7,232 bytescommands/port-upstream.mddoc6,032 bytescommands/source-sweep.mddoc7,394 byteslogo.pngasset198,211 bytes
Read SKILL.md
# Linux Phone Porting
A debug iteration costs a build + flash + boot (5-10 min); blind fixes get refuted more often than they land. Follow this order strictly.
**The chain drives itself; the operator owns the decisions.** When a phase's exit condition is met, start the next phase's entry yourself: setup complete → evidence on the first symptom; evidence captured → the phase 2 sweep opens its ledger; ledger full → hypotheses ranked with falsifiers into phase 3's gate; gate passed → the cheapest decisive experiment, then verification, acceptance and cleanup; three refutations → back to phase 2, wider. Do not wait to be told the next step, and do not stop at a phase boundary to summarize — report compactly and continue. Ask, never guess, at the decision points that belong to the operator, and those are the only stops: unresolved target identity or an unspecified interface/session (phase 0 asks), a boot path the operator must complete (locked bootloader, missing payload demonstration — resume when done), the loop's refutation budget, anything that can destroy excluded userdata or otherwise unrecoverable state, physical hands, and pause/resume prerequisites. Everything else advances.
**Every phase entry and command invocation refreshes the session's task list first.** Before any work, replace the running todo/task list with the incoming unit's steps — one item per step of the phase or command about to run, first step marked in progress. A stale list from the previous unit masquerades as pending work and hides real progress; superseding it is part of starting the unit, not bookkeeping to defer.
Scope: mainline Linux bring-up on phones and tablets plus integration of the selected OS userspace — a method, not certification of any OS/device combination. The userspace need not be GNU/Linux; non-Linux kernels are out of scope.
## 0. Set up the port
Once, before the first flash. The stock system is the highest-authority research source for this board, and parts stop being readable once overwritten.
View the complete source on GitHubSkills included
- linux-phone-porting
Repository facts
- License
- CC-BY-4.0
- Created
- Aug 22, 2026
- Last pushed
- Nov 3, 2026
- Forks
- 2
- Open issues
- 0
- Project activity
- Active
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 6, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 21 notes
SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- No dangerous shell commands
- 10 network referencesin 2 files: README.md:45 commands/linux-phone-porting-update.md:25
- No hidden or obfuscated text
- No instruction overrides
- No executable scripts
- No access to secrets
- No requests to vote in Hot
Show all 10 signals by file
README.md
- Network accessline 45
> Install the skill from https://github.com/angelwzr/linux-phone-porting — clone it into an unused `~/.agents/skills/linux-phone-porting`, symlink it into my skills directory, and symlink `commands/*.md` into my commands directory. Inspect - Network accessline 50
git clone https://github.com/angelwzr/linux-phone-porting ~/.agents/skills/linux-phone-porting - Network accessline 72
> Read the current [linux-phone-porting updater instructions](https://github.com/angelwzr/linux-phone-porting/blob/main/commands/linux-phone-porting-update.md) and carry out that maintenance procedure against my installed skill. Resolve the - Network accessline 155
- **`graft`** — optional navigation for an indexed source tree: locate symbols, callers and relevant spans before broad searches. The exact checked-out source remains authoritative; an index or summary is a pointer, not patch evidence. With - Network accessline 157
- **[Sashiko](https://github.com/sashiko-dev/sashiko) or [Boro](https://github.com/NVIDIA/boro)** — compatible with the skill's evidence-first workflow as optional local kernel-patch reviewers. Use either; neither is required, and running b - Network accessline 186
[CC BY 4.0](LICENSE) © [Roman Linev](https://rlinev.ru).
commands/linux-phone-porting-update.md
- Network accessline 25
2. **Pick the path.** - **Manager-owned:** use only its documented package-scoped update. Read manifest/lock/receipt + docs first. Preserve channel + local changes. Inspect version + changelog before applying. Afterwards verify skill + c - Network accessline 26
- **Manager-owned:** use only its documented package-scoped update. Read manifest/lock/receipt + docs first. Preserve channel + local changes. Inspect version + changelog before applying. Afterwards verify skill + commands are the same rele - Network accessline 27
- **Copy / unknown / mixed:** do not overwrite. Propose a migration (backup → fresh clone of `https://github.com/angelwzr/linux-phone-porting` → diff → agree channel → operator approval → swap links). Ask before executing. - Network accessline 91
Refs: [fetch](https://git-scm.com/docs/git-fetch) · [remote](https://git-scm.com/docs/git-remote) · [status](https://git-scm.com/docs/git-status) · [merge-base](https://git-scm.com/docs/git-merge-base) · [merge](https://git-scm.com/docs/git
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Signal confidence: 10 facts
- Network access in prose of documentationREADME.md:45Low confidence
- Network access in code of documentationREADME.md:50Low confidence
- Network access in prose of documentationREADME.md:72Low confidence
- Network access in prose of documentationREADME.md:155Low confidence
- Network access in prose of documentationREADME.md:157Low confidence
- Network access in prose of documentationREADME.md:186Low confidence
- Network access in prose of documentationcommands/linux-phone-porting-update.md:25Low confidence
- Network access in prose of documentationcommands/linux-phone-porting-update.md:26Low confidence
- Network access in prose of documentationcommands/linux-phone-porting-update.md:27Low confidence
- Network access in prose of documentationcommands/linux-phone-porting-update.md:91Low confidence
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Compatible | Standard SKILL.md SKILL.md | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.