qc
Run quality control checks on the codebase — type checking, linting, tests, and server smoke test. Use when the user says "/qc", wants to verify code quality, or after making significant changes.
Best use case
qc is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Run quality control checks on the codebase — type checking, linting, tests, and server smoke test. Use when the user says "/qc", wants to verify code quality, or after making significant changes.
Teams using qc should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/qc/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How qc Compares
| Feature / Agent | qc | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Run quality control checks on the codebase — type checking, linting, tests, and server smoke test. Use when the user says "/qc", wants to verify code quality, or after making significant changes.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
Related Guides
SKILL.md Source
## What this skill does Runs a multi-stage quality control pipeline: type checking, linting, unit tests, and a live server smoke test. Reports pass/fail for each stage with details on failures. ## Steps ### 1. Type checking ```bash uv run ty check ``` Report the number of diagnostics. Zero is the target — any failures should be listed with file and line. ### 2. Tests ```bash uv run pytest tests/ -v --tb=short 2>&1 ``` Report pass/fail counts. If tests don't exist yet, note that and skip (don't fail QC for missing tests during early development). ### 3. Server smoke test Start the server if it's not already running: ```bash charlie server status ``` If not running, start it: ```bash charlie server start ``` Wait for health: ```bash curl -s http://localhost:8765/api/health ``` Then verify REST endpoints respond with valid JSON: ```bash curl -s http://localhost:8765/api/entities | head -c 200 curl -s http://localhost:8765/api/knowledge | head -c 200 curl -s http://localhost:8765/api/stories | head -c 200 ``` Check all return JSON (arrays or objects, not HTML or errors). Then verify MCP tools work by calling recall through the CLI: ```bash charlie hooks session-start 2>&1 | head -c 500 ``` Check that activation context is generated (contains XML tags or markdown). This exercises the full MCP → store → context pipeline. ### 4. Web dashboard check ```bash curl -s http://localhost:8765/ | grep -c '<div id="root">' ``` Verify the SPA index.html is served. ### 5. Report Summarize results: | Check | Status | |-------|--------| | Type checking | X diagnostics | | Tests | X passed, X failed | | Server health | OK/FAIL | | MCP tools | OK/FAIL | | REST API | OK/FAIL | | Web dashboard | OK/FAIL | If any stage fails, list the specific failures with enough detail to fix them. ### Scope options If `$ARGUMENTS` specifies a scope: - `types` — only run type checking - `tests` — only run tests - `smoke` — only run server smoke test - `all` (default) — run everything
Related Skills
trick
Run Charlie tricks by name or path. Use when the user says "/trick", wants to run a trick, list available tricks, or execute a skill file. Also trigger when the user mentions running a specific trick by name (e.g., "run the session-save trick", "run ship", "do the commit trick").
research
Research a topic and save findings to Charlieverse knowledge. Use whenever the user wants to research something, look up documentation, investigate a library or tool, explore a concept, or asks "what do you know about X". Also trigger when the user says "/research", wants to build up knowledge about a subject, or asks you to "look into" something — even if they don't use the word "research" explicitly.
copilot
Run a task through GitHub Copilot CLI. Use when the user says "/copilot", wants to delegate work to Copilot, or mentions running something through Copilot. Also trigger when the user wants to use Copilot for a task.
codex
Run a task through OpenAI Codex CLI. Use when the user says "/codex", wants to delegate work to Codex, or mentions running something through Codex. Also trigger when the user wants to use an OpenAI model for a task.
session-save
Save or update the current session. Use this skill when asked to handoff, save session, update session, start a new chat, etc. Always call this before using the `update_session` MCP tool directly.
charlie-import
Import conversation history from AI providers (Claude, Copilot, Codex, Cursor) and generate stories from the imported data. Use on first session to bootstrap memory from existing conversations, or anytime the person wants to import history from another provider/machine.
typo-check
Find typos, grammar errors, punctuation/capitalization mistakes, and banned-phrase voice slips in prose and code comments. Use when the user says "/typo-check", wants to scan for typos, or before shipping user-facing text. Reports findings and confirms before fixing.
test-coverage
Evaluate the test coverage
ship
Commit, docs, changelog, and push in one go. Use when the user says "/ship", wants to ship their changes, or asks to commit and push everything.
docs
Generate or update public documentation from source code. Use when the user says "/docs", wants to update docs, or asks to generate documentation for the project.
commit
Review repo changes and create logical atomic commits. Use when the user says "/commit", wants to commit their work, or asks to break changes into commits.
changelog
Generate or update CHANGELOG.md from git commits using semantic versioning. Use when the user says "/changelog", wants to update the changelog, or asks to generate release notes.