From carta-cc
Audit repository documentation for structural and semantic issues, assign stable AUDIT-NNN IDs, and update AUDIT_REPORT.md and TRIAGE.md.
npx claudepluginhub ian-q/cartaThis skill uses the workspace's default tool permissions.
Audit repository documentation for structural and semantic issues, assign stable AUDIT-NNN IDs, and update `AUDIT_REPORT.md` and `docs/BACKLOG/TRIAGE.md`.
Creates new Angular apps using Angular CLI with flags for routing, SSR, SCSS, prefixes, and AI config. Follows best practices for modern TypeScript/Angular development. Use when starting Angular projects.
Generates Angular code and provides architectural guidance for projects, components, services, reactivity with signals, forms, dependency injection, routing, SSR, ARIA accessibility, animations, Tailwind styling, testing, and CLI tooling.
Executes ctx7 CLI to fetch up-to-date library documentation, manage AI coding skills (install/search/generate/remove/suggest), and configure Context7 MCP. Useful for current API refs, skill handling, or agent setup.
Audit repository documentation for structural and semantic issues, assign stable AUDIT-NNN IDs, and update AUDIT_REPORT.md and docs/BACKLOG/TRIAGE.md.
Check if .carta/scan-results.json exists and was written less than 1 hour ago (compare run_at timestamp to current time).
python .carta/carta/cli.py scan
Read scan-results.json and extract:
issues list (structural findings)changed_since_last_audit list (docs to semantically check)statsCheck if AUDIT_REPORT.md exists.
<!-- audit_counter: N --> value (increment by 1 for this run).For each entry in issues from the scan results:
new (no prior entry), persisting (was active last audit), resolved (was active, no longer in issues), needs-input (ambiguous — flag for human review).For each doc in changed_since_last_audit:
If Qdrant is reachable (run python .carta/carta/cli.py search "test" 2>&1 | head -1 — no error means reachable):
If Qdrant is unreachable, skip this agent and note "Qdrant agent skipped — collection unreachable" in the report.
resolved.Write AUDIT_REPORT.md at the repo root with this structure:
# Doc Audit Report
<!-- audit_counter: <N> -->
<!-- Last run: <YYYY-MM-DD> | Audit #<N> | Issues: <X> active, <Y> resolved, <Z> archived -->
## Active Issues
[active + persisting + needs-input issues, newest first]
## Resolved (this audit)
[issues resolved this run]
## Archive
<!-- Issues resolved for 2+ audits. Kept for history. -->
[archived issues]
Each issue block format:
### AUDIT-NNN <emoji> <status> — <context>
**Type:** <type>
**Doc:** `path/to/doc.md` (or **Docs:** for conflicts)
**Detail:** <detail text>
**Action:** <what to do>
**Backlog:** [DOC-NNN](docs/BACKLOG/TRIAGE.md#DOC-NNN) ← only if linked
Emoji key: 🆕 new | ⚠️ persisting | 🔵 needs-input | ✅ resolved
For each issue that is new or newly needs-input AND does not already have a **Backlog:** entry:
docs/BACKLOG/TRIAGE.md, find the highest ### DOC-(\d+) number. Start from DOC-001 if none.### DOC-NNN [doc-audit] <short description>
**Source:** AUDIT-NNN (<status> since audit #N)
**Type:** <type>
**Docs:** `doc` → `related_doc` (or just `doc` for non-conflict issues)
**Action:** <specific action for a developer to take>
**Backlog:** [DOC-NNN](docs/BACKLOG/TRIAGE.md#DOC-NNN) to the matching issue block in AUDIT_REPORT.md.Issues flagged needs-input get a [needs-input] note appended after the title.
Report a summary:
"Audit #N complete. X new issues, Y persisting, Z resolved. AUDIT_REPORT.md updated. N items appended to TRIAGE.md."