github — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited github (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Model-neutral helper for GitHub and Git workflows including Issues, Projects v2, PR management, CI triggers, and version bumping. Uses the gh CLI.
Use when the user says:
Uses existing gh CLI authentication. Verify with:
gh auth statusAlternatively, set GITHUB_TOKEN environment variable for CI/headless environments.
#### List Issues
# List open issues
lisa github issues list --repo owner/repo
# List with filters
lisa github issues list --repo owner/repo --state open --labels bug,urgent --assignee @me --limit 20
# List all issues (including closed)
lisa github issues list --repo owner/repo --state all#### Create Issue
# Basic issue
lisa github issues create --repo owner/repo --title "Bug: Login fails"
# With body and labels
lisa github issues create --repo owner/repo --title "Feature: Dark mode" --body "Add dark mode support" --labels enhancement,ui
# With assignee
lisa github issues create --repo owner/repo --title "Task" --assignee username#### View Issue
lisa github issues view --repo owner/repo 123#### Close/Reopen Issue
# Close as completed
lisa github issues close --repo owner/repo 123
# Close as not planned
lisa github issues close --repo owner/repo 123 --reason not_planned
# Reopen
lisa github issues reopen --repo owner/repo 123#### Assign Issue
lisa github issues assign --repo owner/repo 123 --to username
lisa github issues assign --repo owner/repo 123 --to user1,user2#### Label Issue
# Add labels
lisa github issues label --repo owner/repo 123 --add bug,priority-high
# Remove labels
lisa github issues label --repo owner/repo 123 --remove wontfix
# Add and remove
lisa github issues label --repo owner/repo 123 --add in-progress --remove backlog#### List Projects
lisa github projects list --repo owner/repo
lisa github projects list --repo owner/repo --limit 10#### View Project
lisa github projects view --repo owner/repo 1#### List Project Items
lisa github projects items --repo owner/repo 1
lisa github projects items --repo owner/repo 1 --limit 50#### List Project Fields
# Get available fields and their options (useful for set-field)
lisa github projects fields --repo owner/repo 1#### Add Issue to Project
# Add issue #123 to project #1
lisa github projects add --repo owner/repo 1 123#### Update Project Field
# Set status field (e.g., move to "In Progress" column)
lisa github projects set-field --repo owner/repo 1 ITEM_ID --field Status --value "In Progress"
# Set priority
lisa github projects set-field --repo owner/repo 1 ITEM_ID --field Priority --value "High"Note: Use projects fields to get valid field names and options, and projects items to get item IDs.
Sync Lisa tasks with GitHub Issues. Supports import, export, or bidirectional sync.
#### Import GitHub Issues as Lisa Tasks
# Import all open issues from repo
lisa github sync --repo owner/repo --import
# Import issues with specific labels
lisa github sync --repo owner/repo --import --labels task,feature
# Preview import without making changes
lisa github sync --repo owner/repo --import --dry-run
# Specify group ID for Lisa tasks (default: owner-repo)
lisa github sync --repo owner/repo --import --group my-project#### Export Lisa Tasks to GitHub Issues
# Export unlinked tasks as new GitHub issues
lisa github sync --repo owner/repo --export
# Preview export
lisa github sync --repo owner/repo --export --dry-run#### Bidirectional Sync
# Full two-way sync (import + export + status updates)
lisa github sync --repo owner/repo
# Preview all changes
lisa github sync --repo owner/repo --dry-run#### Status Mapping
| Lisa Status | GitHub State | GitHub Labels |
|---|---|---|
ready/todo | open | (none) |
in-progress | open | in-progress |
blocked | open | blocked |
done | closed | (none) |
Conflict Resolution: When both Lisa and GitHub have changes, last-write-wins based on timestamps.
{
"status": "ok",
"action": "create",
"issue": {
"number": 123,
"url": "https://github.com/owner/repo/issues/123",
"title": "Bug: Login fails"
}
}{
"status": "ok",
"action": "list",
"issues": [
{
"number": 123,
"title": "Bug: Login fails",
"state": "open",
"labels": ["bug"],
"assignees": ["username"],
"url": "https://github.com/owner/repo/issues/123",
"createdAt": "2026-01-22T10:00:00Z",
"updatedAt": "2026-01-22T10:00:00Z"
}
],
"total": 1
}{
"status": "ok",
"action": "view",
"issue": {
"number": 123,
"title": "Bug: Login fails",
"body": "Steps to reproduce...",
"state": "open",
"labels": ["bug"],
"assignees": ["username"],
"url": "https://github.com/owner/repo/issues/123",
"createdAt": "2026-01-22T10:00:00Z",
"updatedAt": "2026-01-22T10:00:00Z",
"author": "reporter",
"milestone": "v1.0"
}
}{
"status": "ok",
"action": "list",
"projects": [
{
"id": "PVT_kwDOABC123",
"number": 1,
"title": "Sprint Board",
"url": "https://github.com/orgs/owner/projects/1",
"closed": false,
"shortDescription": "Current sprint tasks"
}
],
"total": 1
}{
"status": "ok",
"action": "items",
"items": [
{
"id": "PVTI_abc123",
"type": "ISSUE",
"content": {
"number": 123,
"title": "Bug: Login fails",
"url": "https://github.com/owner/repo/issues/123",
"state": "OPEN"
},
"fieldValues": {
"Status": "In Progress",
"Priority": "High"
}
}
],
"total": 1
}{
"status": "ok",
"action": "fields",
"fields": [
{
"id": "PVTF_abc123",
"name": "Status",
"dataType": "SINGLE_SELECT",
"options": [
{ "id": "opt_1", "name": "Todo" },
{ "id": "opt_2", "name": "In Progress" },
{ "id": "opt_3", "name": "Done" }
]
},
{
"id": "PVTF_def456",
"name": "Priority",
"dataType": "SINGLE_SELECT",
"options": [
{ "id": "opt_a", "name": "Low" },
{ "id": "opt_b", "name": "Medium" },
{ "id": "opt_c", "name": "High" }
]
}
]
}{
"status": "ok",
"action": "sync",
"direction": "bidirectional",
"dryRun": false,
"summary": {
"imported": 3,
"exported": 2,
"updated": 1,
"skipped": 5,
"conflicts": 1
},
"imported": [
{ "title": "Bug: Login fails", "issueNumber": 123, "issueUrl": "https://github.com/owner/repo/issues/123" }
],
"exported": [
{ "title": "Refactor auth module", "taskUuid": "abc123", "issueNumber": 456, "issueUrl": "https://github.com/owner/repo/issues/456" }
],
"updated": [
{ "title": "Update docs", "taskUuid": "def789", "issueNumber": 101, "issueUrl": "https://github.com/owner/repo/issues/101" }
],
"conflicts": [
{
"taskUuid": "ghi012",
"taskTitle": "Fix tests",
"issueNumber": 102,
"reason": "Status mismatch: Lisa=\"in-progress\", GitHub=\"closed\"",
"resolution": "remote",
"localUpdatedAt": "2026-01-22T10:00:00Z",
"remoteUpdatedAt": "2026-01-22T11:00:00Z"
}
]
}{
"status": "error",
"error": "Not authenticated. Run: gh auth login"
}# 1. Create issue
lisa github issues create --repo owner/repo --title "Bug: Login fails" --labels bug,triage
# 2. Add to project board
lisa github projects add --repo owner/repo 1 123
# 3. Set initial status
lisa github projects set-field --repo owner/repo 1 ITEM_ID --field Status --value "Triage"
# 4. After investigation, update priority and move to backlog
lisa github issues label --repo owner/repo 123 --add priority-high --remove triage
lisa github projects set-field --repo owner/repo 1 ITEM_ID --field Status --value "Backlog"# List items in backlog
lisa github projects items --repo owner/repo 1 --limit 50
# Move selected items to sprint
lisa github projects set-field --repo owner/repo 1 ITEM_ID --field Status --value "Todo"
lisa github issues assign --repo owner/repo 123 --to developer# 1. Start of day: Import any new GitHub issues as Lisa tasks
lisa github sync --repo owner/repo --import
# 2. Work on tasks in Lisa (status updates tracked automatically)
lisa tasks update "Fix login bug" --status in-progress
# 3. End of day: Export new tasks and sync status changes
lisa github sync --repo owner/repo
# 4. Check what would sync before running
lisa github sync --repo owner/repo --dry-run# View PR checks
gh pr checks <PR_NUMBER> --repo <owner/repo>
# View PR details
gh pr view <PR_NUMBER> --repo <owner/repo>When a PR test fails and a fix is pushed, tests don't automatically re-run. Toggle the "TEST" label to trigger:
# Remove and re-add TEST label to trigger CI
gh pr edit <PR_NUMBER> --repo <owner/repo> --remove-label "TEST"
sleep 2
gh pr edit <PR_NUMBER> --repo <owner/repo> --add-label "TEST"Prerequisites: Set CIRCLE_TOKEN environment variable, or have CircleCI CLI configured at ~/.circleci/cli.yml.
# Get latest pipeline for a branch
curl -s -H "Circle-Token: ${CIRCLE_TOKEN}" \
"https://circleci.com/api/v2/project/gh/<owner>/<repo>/pipeline?branch=<BRANCH>" \
| jq '.items[0] | {number, state, created_at}'
# Get workflow status for a pipeline
curl -s -H "Circle-Token: ${CIRCLE_TOKEN}" \
"https://circleci.com/api/v2/pipeline/<PIPELINE_ID>/workflow" \
| jq '.items[] | {name, status}'# Poll current branch
lisa pr checks <PR_NUMBER>
# Or use gh CLI directly
gh pr checks <PR_NUMBER> --watchBump the semantic version in package.json before pushing:
# Bump minor version (default): 1.2.3 → 1.3.0
lisa bump-version
# Bump patch version: 1.2.3 → 1.2.4
lisa bump-version patch
# Bump major version: 1.2.3 → 2.0.0
lisa bump-version major#### Configuration
Control version bumping via LISA_AUTO_BUMP_VERSION in .lisa/.env:
| Value | Behavior |
|---|---|
true (default) | Enabled, defaults to minor bump |
false | Disabled, bump commands are skipped |
patch / minor / major | Enabled with that bump type as the default |
# In .lisa/.env:
LISA_AUTO_BUMP_VERSION=false # Disable version bumping
LISA_AUTO_BUMP_VERSION=patch # Default to patch bumpsA CLI argument always overrides the env default: lisa bump-version major bumps major regardless of the env setting.
lisa bump-version git add package.json
git commit -m "chore: bump version to $(node -p "require('./package.json').version")" git push gh pr edit <PR_NUMBER> --repo <owner/repo> --remove-label "TEST" && \
sleep 2 && \
gh pr edit <PR_NUMBER> --repo <owner/repo> --add-label "TEST"gh CLI v2.0+ or GITHUB_TOKEN environment variable--repo flag is always required (no auto-detection)/pr skill for PR creation, polling, and review comment workflows/jira skill for Jira integration (similar command structure)/tasks skill for Lisa's internal task management~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.