Aptitude
Generate AI skills from artifacts.
Aptitude reads PDFs, EPUBs, web pages, and GitHub repositories, and turns them — plus a one-line prompt — into a reusable skill: a SKILL.md with its supporting files, or the same content repackaged for another runtime. The artifacts say what is true, the prompt says what is relevant.
Install
pip install -e ".[dev]"
That installs the CLI in editable mode with the test dependencies; afterwards you can run aptitude ... or python -m aptitude .... To skip the setup, use the launchers instead — start.sh (Linux/macOS) and start.ps1 (Windows) create a local virtual environment on first run, install Aptitude into it, and forward every argument straight to the CLI.
./start.sh providers # Linux / macOS
.\start.ps1 providers # Windows (PowerShell)
Example
aptitude create \
-p "Onboard a new engineer to this HTTP library: what it does, how it is laid out, and where to start reading" \
-i psf/requests \
--provider ollama --model mistral-small:latest
The model names the skill, and the directory is named after it. This is the tree that run produced:
out/
└── onboard-new-engineer-to-requests-library/
├── SKILL.md # YAML frontmatter (name, description) then the body
└── references/
└── source-material.md # the whole corpus distilled into one reference file
$ aptitude validate ./out/onboard-new-engineer-to-requests-library
valid
That is the default format. The other file-writing formats write into the same flat out/<skill-name>/ directory too, except zip, whose archive lands beside it as out/<skill-name>.zip. --format all runs each one in turn — Anatomy of a Generated Skill walks through a real --format all run file by file, including the format that writes nothing.
Providers
| Provider | API key environment variable | Default model |
|---|---|---|
claude |
ANTHROPIC_API_KEY |
claude-sonnet-5 |
gemini |
GEMINI_API_KEY |
gemini-2.0-flash |
nvidia |
NVIDIA_API_KEY |
meta/llama-3.1-70b-instruct |
ollama |
None (local) | llama3.1 |
openai |
OPENAI_API_KEY |
gpt-4o-mini |
Choose one with --provider, APTITUDE_PROVIDER, or provider in aptitude.toml. With none of those set, Aptitude uses claude when ANTHROPIC_API_KEY is present and ollama otherwise. Full precedence rules, per-command options, and the two synthesis strategies are in docs/product/features.md.
Output formats
| Format | What it writes |
|---|---|
claude-skill |
SKILL.md plus reference files, for Claude Canvas or Skill Builder |
generic-prompt |
<skill-name>.md and <skill-name>.json, both carrying one prompt ready to paste into any chat |
local-llm |
An Ollama Modelfile and a system.txt, both carrying the same prompt text as generic-prompt |
mcp-manifest |
Nothing, today: the exporter returns early while draft.tools is empty, and nothing populates it |
zip |
An archive of everything already in out/<skill-name>/, so under --format all it picks up the other formats' files too |
Select with --format (default claude-skill), comma-separated for several, or --format all for every one. Per-format detail is in docs/product/features.md.
Documentation
Start at docs/index.md, or go straight to a page:
| Page | For |
|---|---|
| Why Aptitude Exists | Understanding the problem it solves |
| What Aptitude Does | Commands, providers, formats, configuration |
| Anatomy of a Generated Skill | What the output actually looks like |
| The Product Manager's View | Why it was sequenced this way |
| Where This Goes | What is planned, and what is not |
| The Architect's View | How fifty combinations fit in 1,371 lines |
| Key Decisions | What was chosen, rejected, and what would change it |
| Adding a Provider, Format, or Adapter | Contributing code |
| The Art of the Possible | Recipes and speculation |
| What It Doesn't Do Yet | Known gaps, with evidence |
aptitude --help and aptitude COMMAND --help cover the same surface from the terminal.
Metadata
Release files for aptitude 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| aptitude-0.1.0.tar.gz | 40.7 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| aptitude-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 75.6 kB
Release files / aptitude-0.1.0.tar.gz
| Download URL | aptitude-0.1.0.tar.gz |
|---|---|
| Size | 40.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
86efe6b742a676066f7cd8d11b61e0664f6d72f462e882119a04e62a0425526e
|
|
BLAKE2b-256 checksum How to use checksums |
e3eb332562164ef1c3d3cbeda3c4097f0f86336b31b01c2bae156989989d7dc5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 7, 2026.
Transparency logRelease files / aptitude-0.1.0-py3-none-any.whl
| Download URL | aptitude-0.1.0-py3-none-any.whl |
|---|---|
| Size | 34.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
44a9e626370220c3057c61fbe37bfc5468d931dd13d49a0f9078990f7c793112
|
|
BLAKE2b-256 checksum How to use checksums |
a7fcc673b3b200fb8377c98e02d16787c76f1099a728dae025dd0846af8e7da4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 7, 2026.
Transparency logSecurity for aptitude 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for aptitude-0.1.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 7, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.