C++ String API Review
SkillDev toolsReview C++ changes for string parameter and call-site efficiency conventions (`std::string_view`, `std::string&&`, `const std::string&`, `const char*`, and TransparentStringMap lookup). Use when reviewing C++ code, refactoring addon interfaces, or invoking /cpp-string-api-review.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the C++ String API Review skill
What this skill tells your AI
The instructions your AI receives, as published by tetherto/qvac in .agents/skills/cpp-string-api-review/SKILL.md and read by ahel’s review.
Review C++ code for string API convention compliance and produce actionable fixes.
When to use this skill
Use when:
- User asks for a review of C++ string parameter choices.
- User asks to migrate existing code toward string API conventions.
- User invokes
/cpp-string-api-review.
Do NOT use for:
- Non-C++ changes.
- Broad performance review unrelated to string interfaces.
Scope and source of truth
- Primary reference:
docs/conventions/string-api-conventions.md - Supporting implementation reference:
packages/inference-addon-cpp/src/inference-addon-cpp/TransparentStringMap.hpp
Review workflow
- Identify touched C++ files (
*.h,*.hpp,*.cc,*.cpp,*.cxx) in scope. - Inspect string parameters and classify each as:
- read-only non-owning (
std::string_view), - sink ownership transfer (
std::string&&), - downstream compatibility (
const std::string&), - C boundary (
const char*).
- read-only non-owning (
- Flag cost/correctness issues:
- read-only
const std::string&wherestd::string_viewis sufficient, - sink modeled as
const std::string&+ copy instead ofstd::string&&+ move, - hidden temporary conversions (
std::string{view}) on hot paths, - unsafe
view.data()usage where null termination is not guaranteed, - avoidable temporary key materialization in map lookups.
- read-only
- Check for requirement propagation ("requirements bubble up"):
- if a wrapper takes
std::string_viewbut must call aconst std::string&API, surface the trade-off and propose the correct boundary.
- if a wrapper takes
- Produce findings grouped by severity:
- High: correctness/lifetime/null-termination issues,
- Medium: hidden alloc/copy churn in common paths,
- Low: style/consistency improvements.
- Propose precise edits with before/after snippets. Only apply code changes after explicit user confirmation.
Output format
Use this structure:
## C++ String API Review
### Findings
- [High|Medium|Low] <short title> — <file/symbol>
- Why it matters: <cost/correctness impact>
- Suggested change: <concise fix>
### Recommended edits
1. <edit 1>
2. <edit 2>
### Notes
- <boundary trade-offs, if any>
Quick heuristics
- Prefer explicit ownership intent over hidden conversions.
- Prefer leaf-first migration to
std::string_viewthrough call chains. - If downstream requires
const std::string&, do not hide that cost behind wrapper layers.
Signals
- GitHub stars
- 601
- Forks
- 111
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
cpp-string-api-review- Source
- github.com/tetherto/qvac