SourceSage CLI

VerifiedCaution

Generate AI-friendly repository documentation using the SourceSage CLI. Supports local repos, language switching, lite mode, and deprecated diff reports.

Sby Skills Guide Bot
DocumentationIntermediate
7/23/2026
Claude CodeCodexCursor
#repository-documentation#cli#code-summary#llm-context#uv

Recommended for

Automated summary

Runs the SourceSage CLI (`sage`) through `uv` to generate AI-friendly repository documentation such as `.SourceSageAssets/Repository_summary.md`, with options for lite mode, output language, target repo, output directory, and a deprecated diff report.

Strengths

  • Wraps `uv run` invocations so it works without a global install, both inside the SourceSage checkout and from other workspaces.
  • Enforces post-run validation: open the generated markdown and summarize its contents rather than just reporting the exit code.
  • Gives an explicit command matrix for `--lite`, `-l ja/en`, `--repo`, `-o`, and `--diff`.
  • Honestly flags deprecated or unavailable features (`--diff`, `--use-ignore`) and the `.SourceSageignore` side effect.

Limitations

  • Scope is limited to the SourceSage CLI: it needs a local checkout plus `uv` available.
  • The `--diff` release report is deprecated and `--use-ignore` is not exposed by the current CLI.
  • Writes files into the target repo (`.SourceSageAssets`, `.SourceSageignore`) with no built-in confirmation step.
When to use it

Use it when you need a compact, LLM-readable snapshot of a repository (tree, Git stats, root READMEs) before an agent starts working in it.

When not to use it

Don't use it when you only need one file explained, or when neither `uv` nor a SourceSage checkout is available and reading the code directly is enough.

Security analysis

Caution
Quality score80/100

The skill is a straightforward documentation-generation workflow: it instructs the agent to run `uv run sage` with documented flags, then verify and read the produced markdown. There is no network exfiltration, no `curl|sh`, no `rm -rf`, no base64 payloads, and no attempts to bypass safety controls. Risk is limited to the ordinary 'caution' of executing code from a local checkout and writing artifacts into a target repository, which is legitimate but has real side effects a human should be aware of.

Findings
  • •Runs shell commands via `uv run sage`/`sourcesage`, which executes Python code from a local checkout (pyproject entry points) rather than a pinned/verified package version — inherent supply-chain/execution trust in whatever repo is checked out.
  • •Writes files into the target repository (`.SourceSageAssets/Repository_summary.md`, `.SourceSageAssets/RELEASE_REPORT/`, and creates `.SourceSageignore` if missing) without a dry-run step; can unintentionally modify a user's repo or overwrite existing artifacts (the skill only cautions against silent overwrites).
  • •Can point `--repo`/`-o` at arbitrary local paths, so scope of file writes depends on user input; no path validation described.
  • •No destructive, exfiltrating, obfuscated, or safety-disabling instructions present.
How this analysis is made

Examples

Summary of current repo
Run SourceSage on this repository and then summarize what ended up in the generated Repository_summary.md.
Lite Japanese summary of another repo
Use the SourceSage CLI from its own checkout to analyze ~/projects/my-api in lite mode with Japanese output, and write the artifacts to ./docs-out.
Diff release report
Generate the SourceSage diff release report for ~/projects/my-api and tell me the exact path of the report plus what changed.

name: sourcesage-cli description: Generate AI-friendly repository documentation with the SourceSage CLI. Use when Codex needs to run sage or sourcesage to create .SourceSageAssets/Repository_summary.md, analyze the current repository or another local repository, switch the output language between English and Japanese, use --lite to keep the summary small, change the output directory, or optionally create a deprecated tag-diff release report with --diff.

SourceSage CLI

Overview

Use the SourceSage CLI from this repository checkout to generate repository summaries for the current repo or another local repo.

Prefer the local checkout over assuming sourcesage is globally installed. In this repository layout, the SourceSage tool root is the directory that contains this SKILL.md.

Workflow

  1. Resolve the SourceSage tool root and the target repository.

    • If the user did not specify another repo, analyze the current workspace.
    • If the current workspace is not the SourceSage repo, run SourceSage from its own checkout with uv run --directory <sourcesage-root> sage ....
  2. Pick the smallest command that satisfies the request.

    • Current repo summary: uv run sage
    • Current repo summary in lite mode: uv run sage --lite
    • Current repo summary in Japanese: uv run sage -l ja
    • Another repo with default output inside that repo: uv run --directory <sourcesage-root> sage --repo "<target-repo>"
    • Another repo in lite mode: uv run --directory <sourcesage-root> sage --repo "<target-repo>" --lite
    • Another repo with explicit output directory: uv run --directory <sourcesage-root> sage --repo "<target-repo>" -o "<output-dir>"
    • Deprecated diff report: uv run --directory <sourcesage-root> sage --repo "<target-repo>" --diff
  3. Verify the generated artifacts after every run.

    • Repository summary: <output-dir>/.SourceSageAssets/Repository_summary.md
    • Deprecated diff report: <output-dir>/.SourceSageAssets/RELEASE_REPORT/Report_<latest-tag>.md
    • Open the generated markdown and summarize the important results instead of only reporting that the command ran.
    • In --lite mode, confirm the summary keeps the tree, Git info, statistics, and root README files while omitting the ## File Contents section.
  4. Report side effects and command mismatches.

    • Expect SourceSage to create <repo>/.SourceSageignore if it does not exist.
    • Treat --ignore-file as the supported ignore override.
    • Do not rely on --use-ignore unless the CLI is updated and re-verified, because the current CLI does not expose that flag.

Command Notes

  • Prefer uv run sage inside the SourceSage repo because pyproject.toml defines both sage and sourcesage entry points.
  • Prefer uv run --directory <sourcesage-root> sage ... outside the SourceSage repo so the command uses this checkout without requiring a global install.
  • Fall back to sourcesage or sage directly only when the package is already installed and uv is unavailable.
  • Use -l ja or -l en for output language.
  • Use --lite for first-pass exploration when ignore rules are not tuned yet or when full file excerpts would make the summary too large.
  • Use -o when the user wants artifacts outside the repo root.
  • Use --repo to analyze another repository from this checkout.

Validation

  • Run the chosen command instead of only describing it.
  • Confirm that the expected markdown file exists.
  • Read the generated output and report the path plus a short summary of what was produced.
  • Re-run the exact command after changing any execution instructions or docs that mention it.

Avoid

  • Do not assume README examples are authoritative when they differ from sourcesage/cli.py.
  • Do not overwrite existing artifacts silently when the user asked for a specific destination and it already contains results.
  • Do not describe SourceSage usage from memory when you can inspect pyproject.toml and sourcesage/cli.py in this repo.

From the file to a first result

The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.

View the source and supporting files

This download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.

1. Download the file

Download SKILL.md

From the root of a test project, save the file as .skill-downloads/sourcesage-cli-mrx3y0m4/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.

Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.

mkdir -p '.skill-downloads/sourcesage-cli-mrx3y0m4' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/sourcesage-cli-mrx3y0m4/download' --output '.skill-downloads/sourcesage-cli-mrx3y0m4/SKILL.md.part' && mv '.skill-downloads/sourcesage-cli-mrx3y0m4/SKILL.md.part' '.skill-downloads/sourcesage-cli-mrx3y0m4/SKILL.md'

2. Check prerequisites

Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.

No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.

The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.

3. Load the skill

After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.

Claude Code
test -f '.skill-downloads/sourcesage-cli-mrx3y0m4/SKILL.md' && test -s '.skill-downloads/sourcesage-cli-mrx3y0m4/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/sourcesage-cli' && cp -R '.skill-downloads/sourcesage-cli-mrx3y0m4' '.claude/skills/sourcesage-cli'

Cursor
test -f '.skill-downloads/sourcesage-cli-mrx3y0m4/SKILL.md' && test -s '.skill-downloads/sourcesage-cli-mrx3y0m4/SKILL.md' && mkdir -p '.cursor/skills' && test ! -e '.cursor/skills/sourcesage-cli' && cp -R '.skill-downloads/sourcesage-cli-mrx3y0m4' '.cursor/skills/sourcesage-cli'

Codex
test -f '.skill-downloads/sourcesage-cli-mrx3y0m4/SKILL.md' && test -s '.skill-downloads/sourcesage-cli-mrx3y0m4/SKILL.md' && mkdir -p '.agents/skills' && test ! -e '.agents/skills/sourcesage-cli' && cp -R '.skill-downloads/sourcesage-cli-mrx3y0m4' '.agents/skills/sourcesage-cli'

OpenSkills

OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.

Official OpenSkills installation
openskills install './.skill-downloads/sourcesage-cli-mrx3y0m4'

openskills read 'sourcesage-cli-mrx3y0m4'

Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.

For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.

openskills sync

Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.

4. Try a first task

Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:

Read .skill-downloads/sourcesage-cli-mrx3y0m4/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.

Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.

Related skills