Skip to main content

Quick Start

Skylos is an open-source static analysis tool and PR gate. Use it locally first, then add CI once the output makes sense for your repository.

1. Install

pip install skylos

Verify the CLI:

skylos --version

See Installation for uv, source installs, Docker, and optional extras.

2. Run Your First Scan

From the repository root:

skylos .

This starts with dead code detection. Skylos reports unused functions, classes, imports, variables, files, and framework entrypoint issues with confidence scores.

3. Add Security, Secrets, And Quality

skylos . -a

The -a scan enables the main static checks:

FamilyExamples
Dead codeunused functions, imports, classes, files, package entrypoints
SecuritySQL injection, XSS, SSRF, path traversal, command injection, unsafe deserialization
SecretsAPI keys, tokens, private credentials, high-entropy strings
Qualitycomplexity, deep nesting, duplicate branches, long functions, inconsistent returns

For exact rules, see Rules Reference.

4. Keep Findings Focused On Active Work

For pull requests and large legacy repositories, scan only changed lines:

skylos . -a --diff origin/main

For intentional dynamic code, use runtime tracing:

skylos . --trace

See Smart Tracing and Configuration for baselines, suppressions, and whitelists.

5. Add A GitHub Actions PR Gate

Generate a workflow:

skylos cicd init

Commit it:

git add .github/workflows/skylos.yml
git commit -m "Add Skylos CI gate"
git push

See CI/CD Integration for local-only gates, cloud uploads, GitHub OIDC, tokens, annotations, and branch protection.

6. Optional Workflows

GoalCommandDocs
Technical debt hotspotsskylos debt .Technical Debt
AI-assisted reviewskylos agent scan .AI Features
LLM app guardrailsskylos defend .AI Defense
Cloud dashboard uploadskylos suite . --uploadCLI to Dashboard
MCP server for AI assistantspython -m skylos_mcp.serverMCP Server

Cheatsheet

I want to...Command
Find dead codeskylos .
Run the main local auditskylos . -a
Find security issuesskylos . --danger
Find hardcoded secretsskylos . --secrets
Check code qualityskylos . --quality
Scan changed lines onlyskylos . -a --diff origin/main
Gate locallyskylos . -a --gate
Print concise IDE outputskylos --format concise src/test.py
Generate GitHub Actions workflowskylos cicd init
Export JSONskylos . -a --json -o skylos-results.json

Getting Help