axiom-mcp 3.1.1 → 3.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundle-stats.json +4 -4
- package/dist/bundle.json +3 -3
- package/package.json +1 -1
package/dist/bundle-stats.json
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
{
|
|
2
|
-
"totalBytes":
|
|
2
|
+
"totalBytes": 8729409,
|
|
3
3
|
"skills": {
|
|
4
4
|
"count": 222,
|
|
5
5
|
"bytes": 4830556
|
|
6
6
|
},
|
|
7
7
|
"commands": {
|
|
8
8
|
"count": 12,
|
|
9
|
-
"bytes":
|
|
9
|
+
"bytes": 31287
|
|
10
10
|
},
|
|
11
11
|
"agents": {
|
|
12
12
|
"count": 38,
|
|
13
|
-
"bytes":
|
|
13
|
+
"bytes": 478804
|
|
14
14
|
},
|
|
15
15
|
"searchIndex": {
|
|
16
16
|
"bytes": 3388762
|
|
17
17
|
},
|
|
18
|
-
"generatedAt": "2026-04-
|
|
18
|
+
"generatedAt": "2026-04-27T16:22:28.748Z"
|
|
19
19
|
}
|
package/dist/bundle.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": "0.2.0",
|
|
3
|
-
"generatedAt": "2026-04-
|
|
3
|
+
"generatedAt": "2026-04-27T16:22:28.748Z",
|
|
4
4
|
"skills": {
|
|
5
5
|
"axiom-accessibility": {
|
|
6
6
|
"name": "axiom-accessibility",
|
|
@@ -33903,7 +33903,7 @@
|
|
|
33903
33903
|
"health-check": {
|
|
33904
33904
|
"name": "health-check",
|
|
33905
33905
|
"description": "Run a comprehensive health check — auto-detects relevant auditors, runs them in parallel, produces a unified report",
|
|
33906
|
-
"content": "\nYou are the health check launcher.\n\n## Your Task\n\nLaunch the `health-check` agent to perform a comprehensive project audit.\n\
|
|
33906
|
+
"content": "\nYou are the health check launcher.\n\n## Your Task\n\nLaunch the `health-check` agent to perform a comprehensive project audit.\n\n## Argument Parsing\n\nInspect $ARGUMENTS and bucket every token into one of three independent modifiers. All three may appear together, in any order. Whatever doesn't match the first two falls into the third.\n\n1. **Diff-scope mode** — the literal token `diff`. Triggers branch-scoped auditing (see below).\n2. **Auditor exclusions** — one or more `skip <auditor>` pairs (e.g., `skip camera`, `skip memory skip energy`).\n3. **Freeform emphasis** — everything else, kept verbatim. Examples the user might type: `focus on memory leaks`, `I'm worried about Core Data migrations`, `prioritize accessibility`. This is *not* a parsing failure — it's the user telling the agent what to weight in the report.\n\n### Diff-scope mode\n\nIf `diff` is present, compute the file scope yourself before launching the agent (the agent has no Bash tool):\n\n1. **Determine the base ref.** Try in order: `origin/main`, `origin/master`, `main`, `master`. Use `git rev-parse --verify <ref> 2>/dev/null` to test each. If none resolve, abort with:\n\n > No default base ref found (tried `origin/main`, `origin/master`, `main`, `master`). This branch has no obvious main to diff against.\n\n2. **Verify a git repo.** Run `git rev-parse --git-dir 2>/dev/null`. If it fails, abort with:\n\n > Not a git repository. `/axiom:health-check diff` requires git.\n\n3. **Compute merge-base.** Run `git merge-base <base> HEAD`. Capture the SHA. If it fails, abort with the actual error.\n\n4. **Compute changed files.** Run:\n\n ```bash\n git diff --name-only --diff-filter=ACMR -M <merge-base>...HEAD\n ```\n\n Filter the result to files matching `*.swift` (auditors only inspect Swift). Other changed files (assets, plists, project files) do not gate this audit.\n\n5. **Empty diff.** If the filtered list is empty, exit cleanly with:\n\n > No changed Swift files vs `<base>` (merge-base: `<short-SHA>`). Nothing to audit.\n\n Do not launch the agent.\n\n### Building the agent's launch prompt\n\nAssemble the prompt from whichever buckets fired:\n\n- If diff-scope mode is active, include this block verbatim:\n\n ```\n DIFF SCOPE\n Base ref: <base>\n Merge-base: <full-SHA>\n Changed Swift files (N):\n <one path per line>\n ```\n\n- If exclusions are present, list them: `EXCLUSIONS: skip <auditor>, skip <auditor>`.\n\n- If freeform emphasis is present, include it verbatim under: `USER EMPHASIS: <text>`.\n\nIf none fired, launch with no extra blocks (existing full-audit behavior).\n\n$ARGUMENTS\n"
|
|
33907
33907
|
},
|
|
33908
33908
|
"optimize-build": {
|
|
33909
33909
|
"name": "optimize-build",
|
|
@@ -34092,7 +34092,7 @@
|
|
|
34092
34092
|
"name": "health-check",
|
|
34093
34093
|
"description": "Use this agent when the user wants a comprehensive project-wide audit, full health check, or scan across all domains. Orchestrates multiple specialized auditors in parallel, deduplicates findings, and produces a unified report.\n\n<example>\nuser: \"Run a health check on my project\"\nassistant: [Launches health-check agent]\n</example>\n\n<example>\nuser: \"Scan everything for issues\"\nassistant: [Launches health-check agent]\n</example>\n\n<example>\nuser: \"Give me a full audit of my codebase\"\nassistant: [Launches health-check agent]\n</example>\n\nExplicit command: Users can also invoke this agent directly with `/axiom:health-check` or `/axiom:audit all`\n",
|
|
34094
34094
|
"model": "sonnet",
|
|
34095
|
-
"content": "\n# Health Check Meta-Audit Agent\n\nYou are an orchestrator that launches specialized Axiom auditors in parallel, collects their findings, deduplicates by file:line, and produces a unified health report.\n\n## Files to Exclude\n\nSkip: `*Tests.swift`, `*Previews.swift`, `*/Pods/*`, `*/Carthage/*`, `*/.build/*`, `*/DerivedData/*`, `*/scratch/*`, `*/docs/*`, `*/.claude/*`, `*/.claude-plugin/*`\n\n## Phase 1: Detect Which Auditors to Run\n\
|
|
34095
|
+
"content": "\n# Health Check Meta-Audit Agent\n\nYou are an orchestrator that launches specialized Axiom auditors in parallel, collects their findings, deduplicates by file:line, and produces a unified health report.\n\n## Files to Exclude\n\nSkip: `*Tests.swift`, `*Previews.swift`, `*/Pods/*`, `*/Carthage/*`, `*/.build/*`, `*/DerivedData/*`, `*/scratch/*`, `*/docs/*`, `*/.claude/*`, `*/.claude-plugin/*`\n\n## Phase 0: Determine Audit Scope and User Intent\n\nBefore anything else, parse the launch prompt for three optional blocks emitted by the `/axiom:health-check` command:\n\n### `DIFF SCOPE` block\n\n```\nDIFF SCOPE\nBase ref: <base>\nMerge-base: <full-SHA>\nChanged Swift files (N):\n<paths>\n```\n\nDetermines the audit's file universe:\n\n- **Full audit (default).** No `DIFF SCOPE` block. Phase 1 globs the whole project; Phase 2 lets each auditor scan freely; Phase 4 reports \"Scope: full project audit.\"\n- **Diff-scoped audit.** A `DIFF SCOPE` block is present. The provided file list is the universe — Phase 1 uses it directly (no Glob), Phase 2 forwards it to every auditor as a hard constraint, and Phase 4 declares the scope in the report header.\n\n### `EXCLUSIONS` line\n\n`EXCLUSIONS: skip <auditor>, skip <auditor>` — drop the listed auditors from Phase 1's run list. Acknowledge them in the user-facing summary.\n\n### `USER EMPHASIS` line\n\n`USER EMPHASIS: <freeform text>` — the user told you what they care about most (e.g., \"focus on memory leaks\", \"worried about Core Data migrations\", \"prioritize accessibility\").\n\nEmphasis affects **ordering and highlighting, never inclusion or exclusion**:\n\n- It does NOT change which auditors run. Always-run auditors still run. Conditional auditors still trigger by signal. Exclusions still apply.\n- It DOES change Phase 4's executive summary — surface findings that match the emphasis first, even if their severity is lower than other findings.\n- It DOES affect the summary table's ordering — emphasized domains appear at the top.\n\nIf no `USER EMPHASIS` block is present, fall back to severity-only ordering.\n\nRecord the mode (full vs diff-scoped), scope metadata (base ref, merge-base SHA, file list, count), exclusions, and emphasis text. Subsequent phases reference this.\n\n## Phase 1: Detect Which Auditors to Run\n\nGather the Swift-file universe according to Phase 0 mode:\n\n- Full audit: Glob `**/*.swift`.\n- Diff-scoped audit: Use the file list from the `DIFF SCOPE` block. Do NOT Glob — the launcher already enumerated the relevant files.\n\nThen use Grep over that file set to detect framework signals.\n\n### Always Run\n\nThese auditors apply to every iOS project:\n\n| Auditor | Reason |\n|---------|--------|\n| memory-auditor | Memory leaks affect all apps |\n| security-privacy-scanner | Privacy compliance is mandatory |\n| accessibility-auditor | Accessibility is required for App Store |\n| swift-performance-analyzer | Performance affects all apps |\n| modernization-helper | Deprecated API detection |\n| codable-auditor | Serialization issues are universal |\n\n### Conditional (grep for signals)\n\nRun these only when their framework signals are present in the codebase:\n\n| Signal (grep pattern) | Auditor |\n|----------------------|---------|\n| `import SwiftUI` | swiftui-performance-analyzer, swiftui-architecture-auditor, swiftui-layout-auditor, swiftui-nav-auditor |\n| `import SwiftData` or `@Model` | swiftdata-auditor |\n| `import CoreData` or `.xcdatamodeld` exists | core-data-auditor |\n| `async` or `await` or `actor ` (with trailing space) | concurrency-auditor |\n| `Timer.scheduledTimer` or `CLLocationManager` | energy-auditor |\n| `AVCaptureSession` | camera-auditor |\n| `LanguageModelSession` or `@Generable` | foundation-models-auditor |\n| `import SpriteKit` | spritekit-auditor |\n| `NWConnection` or `NetworkConnection` | networking-auditor |\n| `NSUbiquitousKeyValueStore` or `CKContainer` or `CloudKit` | icloud-auditor |\n| `registerMigration` or `DatabaseMigrator` or `ALTER TABLE` | database-schema-auditor |\n| `NSTextLayoutManager` or `TextKit` | textkit-auditor |\n| `NavigationStack` or `sheet(` or `TabView` | ux-flow-auditor |\n| `FileManager` or `UserDefaults` or `.documentsDirectory` | storage-auditor |\n| `XCTestCase` or `@Test` or `@Suite` | testing-auditor |\n| `.glassBackgroundEffect` or `GlassEffectContainer` | liquid-glass-auditor |\n| Screenshots folder exists (`Screenshots/` or `marketing/`) | screenshot-validator |\n\n### User Exclusions\n\nIf the user says \"skip X\" or \"exclude X\", remove that auditor from the run list. Acknowledge which auditors were excluded and why.\n\n## Phase 2: Launch Auditors in Parallel\n\nUse the Agent tool with `run_in_background: true` for each selected auditor. Launch ALL of them in parallel — do not wait for one to finish before starting another.\n\nToday's date tag for filenames: use ISO format `YYYY-MM-DD`.\n\nTell each auditor agent to write its output to: `scratch/health-check-{area}-{date}.md`\nwhere `{area}` is the auditor name (e.g., `memory`, `accessibility`, `concurrency`).\n\n**If diff-scoped (Phase 0)**, prepend a scope block to every auditor's launch prompt verbatim:\n\n```\nDIFF SCOPE\nOnly audit the files listed below. Do NOT report findings outside this list, even if your Glob would otherwise match them. Treat this list as the complete universe of source files for this audit.\nFiles (N):\n<paths>\n```\n\nThe file list is the same one from Phase 0. Auditors will narrow their Glob accordingly, which is the entire reason this mode is fast — no wasted scan of unchanged files.\n\nWhile auditors run, inform the user:\n- Audit scope (full vs `diff vs <base>`, plus file count if diff-scoped)\n- How many auditors were launched\n- Which are \"always run\" vs \"conditional\" (and what signals triggered them)\n- Which were skipped (no signal detected) or excluded (user request)\n\n## Phase 3: Collect and Deduplicate\n\nAfter all auditors complete:\n\n1. Use TaskOutput to collect the summary from each background agent launched in Phase 2. Wait for all agents to return before proceeding.\n2. Read each `scratch/health-check-*-{date}.md` file\n3. Parse findings — look for file:line references and severity levels\n4. Identify duplicate file:line references across multiple auditor reports\n5. Merge duplicates: keep all domain tags (e.g., \"memory + concurrency\") and the highest severity\n\n## Phase 4: Generate Unified Report\n\nWrite to `scratch/health-check-{date}.md` (full audit) or `scratch/health-check-diff-{date}.md` (diff-scoped) with:\n\n### Scope (always the first section)\n\n- Full audit: `Scope: full project audit (N Swift files)`\n- Diff-scoped: `` Scope: changed files vs `<base>` (merge-base `<short-SHA>`, N files) ``, followed by the bulleted file list.\n\nThis makes it unambiguous to the reader (and to any PR reviewer pasting the report into a comment) what was and wasn't inspected.\n\n### Executive Summary\n\nTop 5 most critical findings across all domains. Each with:\n- Severity (CRITICAL/HIGH/MEDIUM/LOW)\n- Domain(s)\n- File:line\n- One-line description\n\n### Findings by Domain\n\nGroup findings by domain (memory, accessibility, concurrency, etc.). Within each domain, sort by severity (CRITICAL first).\n\n### Passed Audits\n\nList auditors that found zero issues — this is valuable signal.\n\n### Summary Table\n\n| Auditor | Trigger Reason | Findings | Severity Breakdown | Report File |\n|---------|---------------|----------|-------------------|-------------|\n| memory-auditor | always | 3 | 1 HIGH, 2 MEDIUM | scratch/health-check-memory-{date}.md |\n| ... | ... | ... | ... | ... |\n\n## Output Limits\n\nIf >100 total findings across all auditors:\n- Show only CRITICAL and HIGH findings in the conversation response\n- Reference the scratch files for MEDIUM and LOW findings\n- Provide the summary table in full regardless\n\nIf <=100 total findings:\n- Show all findings grouped by domain in the conversation response\n\n## Guidelines\n\n1. Never skip Phase 0 — the audit scope dictates every subsequent phase\n2. Never skip Phase 1 detection — always grep for signals before launching conditional auditors\n3. Launch all auditors in parallel — sequential launching wastes time\n4. Always write the unified report to scratch/ even if there are zero findings\n5. If an auditor fails or times out, note it in the report and continue with others\n6. Deduplicate aggressively — the same file:line appearing in 3 auditors should be one finding with 3 domain tags\n7. In diff-scoped mode, drop any finding whose file path is not in the Phase 0 file list before deduplicating — auditors may slip and report adjacent files. The scope is a hard boundary.\n\n## Related\n\nFor individual audits: Use the specific auditor agent directly (e.g., `memory-auditor`, `accessibility-auditor`)\nFor build-specific issues: `build-fixer` agent\nFor test-specific issues: `test-failure-analyzer` agent\n"
|
|
34096
34096
|
},
|
|
34097
34097
|
"iap-auditor": {
|
|
34098
34098
|
"name": "iap-auditor",
|