write-cli-app
One argparse GitHub PR CLI in pkg/ with urllib.
Skill by YauhenBichel
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/yauhenbichel-write-cli-app
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design, writing, productivity
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/write-cli-app
What's inside
- Skill name
write-cli-app- Description
- One argparse GitHub PR CLI in pkg/ with urllib. Use when the task is design or develop a CLI app that talks to GitHub. Do not use for weekday scripts.
- License
- Apache-2.0
- Instructions
- 38 lines in SKILL.md · view on GitHub
Before installing
- Instructions call the network
Files (1)
- SKILL.md
SKILL.md (first lines)
stdlib urllib. Token from os.environ. argparse subcommands. No curl. No secrets.
Action: edit
Path: {{module}}
```python
import argparse
import json
import os
import urllib.request
from typing import Any
def list_pulls(owner: str, repository: str) -> list[dict[str, Any]]:
token = os.environ["GITHUB_TOKEN"]
url = f"https://api.github.com/repos/{owner}/{repository}/pulls"
request = urllib.request.Request(
url,
headers={"authorization": f"Bearer {token}", "accept": "application/json"},
)
with urllib.request.urlopen(request, timeout=10.0) as response:
payload = json.loads(response.read().decode("utf-8"))
if not isinstance(payload, list):
raise ValueError("json array required")
return payload
if __name__ == "__main__":
parser = argparse.ArgumentParser()
sub = parser.add_subparsers(dest="command", required=True)
listed = sub.add_parser("list")
listed.add_argument("owner")
listed.add_argument("repository")
args = parser.parse_args()
if args.command == "list":
print(list_pulls(args.owner, args.repository))
```From YauhenBichel/py-harness, Apache-2.0.
More from YauhenBichel/py-harness
- 0.561score
compare-things
YauhenBichel
Adds one helper that reports the difference between two files, two folders, or two dicts.
SkillBFreshness: B★ 3Claude Code +9 - 0.561score
use-archive
YauhenBichel
Adds one zipfile or tarfile helper that packs a folder or lists what an archive holds.
SkillBFreshness: B★ 3Claude Code +9 - 0.561score
call-http
YauhenBichel
Adds one urllib.request helper that GETs or POSTs JSON.
SkillBFreshness: B★ 3Claude Code +9 - 0.559score
readable-layout
YauhenBichel
Reports why a project is hard to read — import cycles, an ungrouped package, a god module, no tests — and names one move.
SkillBFreshness: B★ 3Claude Code +9 - 0.559score
review-design
YauhenBichel
Reviews project structure from the harness design block, then one-split until the scan is clean.
SkillBFreshness: B★ 3Claude Code +9 - 0.559score
fix-smell
YauhenBichel
Renames one opaque function to readable snake_case.
SkillBFreshness: B★ 3Claude Code +9 - 0.559score
new-package
YauhenBichel
Scaffolds pkg/ + tests/ with exports-only __init__.
SkillBFreshness: B★ 3Claude Code +9 - 0.559score
review-code
YauhenBichel
Reports defects in one file without changing it.
SkillBFreshness: B★ 3Claude Code +9 - 0.559score
ask-when-unclear
YauhenBichel
Asks the user one short question when the task could mean two different things.
SkillBFreshness: B★ 3Claude Code +9 - 0.559score
add-feature
YauhenBichel
Adds one requested function plus a test.
SkillBFreshness: B★ 3Claude Code +9 - 0.558score
refactor-split
YauhenBichel
Splits one god module into pkg/<concern>.py.
SkillBFreshness: B★ 3Claude Code +9 - 0.558score
open-pr
YauhenBichel
Opens a pull request after commit and push.
SkillBFreshness: B★ 3Claude Code +9
Signals
- Stars
- 3
- Forks
- 5
- Open issues
- 48
- Last commit (this folder)
- Sep 5, 2026 (1 month ago)
- Last release
- Sep 9, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/YauhenBichel/py-harness
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from YauhenBichel
- 0.580score
when-free
YauhenBichel
Which days and times am I free?
ConnectorAFreshness: ALocalRead-only↓ 30/wkClaude Code +5 - 0.565score
estimate-and-risks
YauhenBichel
Gives an honest estimate with ranges and the risks behind it.
SkillAFreshness: AClaude Code +9 - 0.564score
incident-response
YauhenBichel
Handles a production incident and writes the postmortem.
SkillAFreshness: AClaude Code +9 - 0.564score
explain-code
YauhenBichel
Explains code clearly to another developer.
SkillAFreshness: AClaude Code +9 - 0.564score
handle-errors-and-logging
YauhenBichel
Designs error handling and logs that make failures visible and diagnosable.
SkillAFreshness: AClaude Code +9 - 0.564score
ml-experiment
YauhenBichel
Runs a machine-learning experiment that can be trusted.
SkillAFreshness: AClaude Code +9
Cite this page
write-cli-app skill. Agent Mart. https://agentmart.dev/skills/yauhenbichel-write-cli-app (last updated 2026-10-24)