Wingman for AI assistants
Let your assistant organise practice while your work stays in Wingman.
Download the Wingman skillConnect once
The download is an agent skill, not an automatically installed ChatGPT or Claude connector. Your chosen client must support skills, secure secrets and HTTP or script tools. An OpenAPI schema and plain-text documentation are available for tool integrations.
- Create a Wingman key with the permissions your assistant needs.
- Download the Wingman skill and add it to an agent that supports skills and running tools. The bundle includes a Python helper with no third-party dependencies.
- Set WINGMAN_API_KEY in the agent’s secret environment. Set WINGMAN_API_BASE to https://api.wingman.st/v1. Keep the key out of ordinary chat.
- Ask the assistant to check the connection, then describe what you want to practise.
Find the right practice
Give the assistant questions:read, papers:write and papers:read. It should discover available filters, inspect the questions, preserve returned version pins, save the selection and download both PDFs. If it cannot find enough suitable questions, it should explain the gap.
I’m struggling with complex numbers in Further Maths Core Pure. Find me six relevant Edexcel questions, build a practice paper with writing space, and return the paper and its mark scheme.Use Wingman’s marking
This workflow needs marking:submit and marking:read. With credit billing enabled, the assistant prepares the paper, obtains a quote and confirms its exact ID only within your explicit credit budget. It must keep the same confirmation key after an uncertain response. It should then wait for the background work and distinguish confirmed marks from unresolved decisions.
I’ve attached my completed paper and the mark scheme. Submit them to Wingman for automated marking, wait for the results, and show me which marks need review.Bring the assistant’s marking back
This workflow needs marking:import and usually marking:read. The assistant must use the import schema, include every allocation, validate the submission and submit it to the account. A score summary or a flattened image with ticks is not a complete import.
Only ask an assistant to do this if it can inspect the actual page images. If it cannot locate evidence reliably, it should explain the limitation rather than fabricate boxes or claim examiner accuracy.
Mark my attached scan against the supplied Edexcel scheme, allocation by allocation. Use precise evidence boxes on the original pages, flag uncertainty, and submit the marked paper and results to Wingman.For an agent with a terminal
The helper also supports full Pathway and skill evidence reads, exact result changes, search, preparing automated marking, reviewing quotes, confirming within an explicit credit budget, reading results, and validating or completing imports. Run it with --help for commands. It keeps resumable workflow IDs in the selected output directory and never writes the API key there.
python3 scripts/wingman.py check
python3 scripts/wingman.py build \
--module core-pure --query "complex numbers" \
--count 6 --title "Complex numbers practice" \
--output ./practiceKeep the skill current
The versioned skill requires Python 3.10 or later. The helper checks for updates at most once a day when used and tells you when one is available. Installation is manual by default; --auto on opts into automatic installation and --auto off returns to notifications. Checks need no Wingman API key, and being offline does not interrupt your practice or marking.
Updates wait until active workflows finish and preserve your keys, workflow files and update preferences. Resume an unfinished workflow with its original files. Use python3 scripts/wingman.py updates --finish-workflow PATH only once that workflow is finished, with PATH pointing to its exact registered workflow.json file; it releases the update guard without deleting the workflow.
Supported macOS and Linux installations switch directories atomically. A repository checkout, unsupported system, read-only installation or sandbox restriction may require manual replacement. After installation, start a new chat or reload the skill to use its new instructions. Older copies need one initial replacement from the skill download before they can update themselves. Before enabling automatic installation, register every unfinished older workflow with python3 scripts/wingman.py updates --track-workflow /exact/workflow.json; this sends no API request and preserves its existing state.
Release checks use Wingman's fixed public HTTPS origin, independently of WINGMAN_API_BASE. The archive and managed files are checked against the release's SHA-256 manifest. WINGMAN_SKILL_UPDATE_CHECKS=off disables automatic checks; WINGMAN_SKILL_STATE_DIR can select a private writable persistent state directory outside the installation when an agent sandbox cannot write the default location. Keep it unchanged across workflows so their guards remain discoverable. Skill releases are versioned separately from the public API and marking imports.
python3 scripts/wingman.py updates --check
python3 scripts/wingman.py updates --install
python3 scripts/wingman.py updates --track-workflow /exact/workflow.json
python3 scripts/wingman.py updates --auto on
python3 scripts/wingman.py updates --auto off