Install
$ agentstack add skill-chambear2809-splunk-cisco-skills-splunk-admin-doctor ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Splunk Admin Doctor
Prerequisites
| Tool or access | Purpose | Verify | |---|---|---| | Bash and Python 3 | Run bundled setup and validation helpers | bash --version && python3 --version | | Required product/platform access | Inspect or configure the selected target | Complete the documented preflight | | Credential files for live modes | Keep secrets out of chat | Verify paths only |
Workflow Overview
┌───────────┐ ┌───────────────┐ ┌───────────────┐ ┌─────────────────┐
│ Preflight │ → │ Render/review │ → │ Apply/handoff │ → │ Validate evidence │
└───────────┘ └───────────────┘ └───────────────┘ └─────────────────┘
When to Activate
- The user asks for a Splunk admin doctor, health audit, full feature coverage check, production-safe remediation
plan, Cloud/Enterprise admin troubleshooting, or routing to existing Splunk admin skills.
- Preview and review the splunk admin doctor workflow before any live apply phase.
- Diagnose failed prerequisites, generated assets, configuration, or validation evidence.
Scope
Follow the documented read-only or render-first path whenever it is available. This skill does not imply permission to mutate live systems. Require explicit apply flags, protected credentials, and operator review for state changes.
Examples
Inspect the supported setup modes before selecting one:
bash skills/splunk-admin-doctor/scripts/setup.sh --help
Expected output: usage, supported modes, and required arguments are displayed without changing the target environment.
Inspect validation modes before running completion checks:
bash skills/splunk-admin-doctor/scripts/validate.sh --help
Expected output: offline, live, and completion options are displayed when the skill supports them; help exits without mutation.
Troubleshooting
| Issue | Cause | Resolution | |---|---|---| | Preflight fails | A required tool or access path is missing | Resolve it before rendering or applying | | Rendered assets are incomplete | Required non-secret inputs are absent | Complete intake and render again | | Apply is blocked | Review, credentials, or explicit acceptance is missing | Use the documented handoff | | Validation is incomplete | Live evidence is unavailable | Record the gap and keep completion open |
This skill diagnoses major Splunk administration domains and renders a conservative fix plan. It supports Splunk Cloud Platform and self-managed Splunk Enterprise, classifying every domain as direct_fix, delegated_fix, manual_support, diagnose_only, or not_applicable.
Coverage and health are deliberately separate:
remediation_coveragesays whether the repository has a safe route for a
feature.
assessmentsayshealthy,finding,partial,unknown, or
not_applicable from the supplied evidence.
evidence_statussays whether every applicable rule was actually assessed.SAD-EVIDENCE-INCOMPLETEprevents missing evidence from appearing healthy.- Optional/unlicensed capabilities can be explicitly excluded through boolean
applicability.rules or applicability.domains evidence maps; omission alone never implies not applicable. Baseline health domains and rules cannot be excluded through these maps.
The catalog also resolves detected product footprints to exact Security, ITSI, SOAR, Observability, On-Call, AppDynamics, Cisco, AI/ML, MCP, WideField, and Galileo routers. Catalog validation fails when any repository skill lacks an explicit disposition or a delegated handoff no longer exists.
Agent Behavior
Never ask for passwords, tokens, API keys, or other secrets in chat. Do not pass secret values on the command line. Use existing repo credentials files and secret-file paths only. Evidence and generated artifacts reject symlink and hardlink destinations, use bounded reads and writes, and are rendered owner-only.
Platform and target identity fail closed. Supply --platform cloud or --platform enterprise for normal operation. --platform auto is accepted only when the evidence JSON declares platform or a strict HTTPS management hostname ends in .splunkcloud.com; every other ambiguous case fails instead of silently defaulting to Enterprise. If --splunk-uri is supplied, it must be a credential-free HTTPS management origin with a valid hostname and optional numeric port. Userinfo, non-root paths, query strings, and fragments are rejected before collection or rendering.
The doctor is intentionally conservative:
doctorandfix-planare read-only with respect to Splunk; they write
local report artifacts and remain conservatively mutation-gated by MCP.
applyrequires explicit--fixes FIX_ID[,FIX_ID].apply --dry-runpreviews only.--require-complete-evidenceexits3when any applicable rule remains
unassessed; --strict exits 2 for high/critical findings.
- v1 does not run restarts, deletions, certificate rotations, cluster
operations, user/role deletion, KV Store cleanup, or backup uploads.
- Specialized work is routed to existing mature skills such as ACS allowlists,
HEC, Monitoring Console, Agent Management, Workload Management, SmartStore, PKI, public exposure hardening, license manager, app install, and indexer cluster setup.
Quick Start
Run an Enterprise doctor report:
bash skills/splunk-admin-doctor/scripts/setup.sh \
--phase doctor \
--platform enterprise \
--splunk-home /opt/splunk
Render a fix plan from saved evidence:
bash skills/splunk-admin-doctor/scripts/setup.sh \
--phase fix-plan \
--platform enterprise \
--evidence-file skills/splunk-admin-doctor/fixtures/enterprise_unhealthy.json
Preview selected fix packets:
bash skills/splunk-admin-doctor/scripts/setup.sh \
--phase apply \
--platform cloud \
--evidence-file skills/splunk-admin-doctor/fixtures/cloud_acs_rest_denied.json \
--fixes SAD-CONNECTIVITY-REST-DENIED \
--dry-run \
--json
Preview a live sweep against the canonical named on-prem profile before making any request:
python3 skills/splunk-admin-doctor/scripts/live_validate_all.py \
--profile onprem_2535 \
--platform enterprise \
--max-retained-runs 50 \
--plan-only
After reviewing the plan, run one bounded validation sweep:
python3 skills/splunk-admin-doctor/scripts/live_validate_all.py \
--profile onprem_2535 \
--platform enterprise \
--max-retained-runs 50 \
--once
The live runner's --allow-apply mode is currently limited to rendering a local doctor fix plan. Previous remote MC/HEC/WLM and Observability mutation smokes are disabled until target-bound snapshots, cleanup-in-finally behavior, and byte-for-byte rollback are implemented and tested.
Before any live request, the runner requires an existing named profile, an unambiguous Cloud/Enterprise platform resolved from the request or profile, a credential-free HTTPS management origin, and TLS verification. Conflicts fail before REST or SSH probes. Legacy flat credential files are rejected unless the operator explicitly adds --allow-flat-credentials; that compatibility flag must not be used when a named profile can be created. One bounded evidence sweep feeds the doctor and baseline gate; the runner does not repeat the same REST/SSH probes as separate validation steps.
Child-skill validation defaults to checked-in --help interface checks. Add --allow-offline-smoke only to run checked-in offline smoke entrypoints. Source-discovered live phases are rejected until the repository has an audited, checked-in command safety manifest; a source-text match is not proof that a phase is mutation-free. Interface-only success is reported as interface-pass, never as feature validation.
template.example is a non-secret human worksheet, not a CLI spec file. Pass its values through the documented flags and supply machine evidence as JSON with --evidence-file.
Outputs
The default output directory is splunk-admin-doctor-rendered/:
doctor-report.mdanddoctor-report.jsonfix-plan.mdandfix-plan.jsoncoverage-report.jsonartifact-manifest.jsonwith the committed bundle's artifact hashesevidence/normalized-evidence.redacted.jsonevidence/collection-notes.mdwith source provenance and redacted collector noteshandoffs/*.mdfor direct and delegated fix packetssupport-tickets/*.mdfor manual/support packets
The normalized evidence artifact contains the redacted, validated evidence used for rule evaluation, including documented derived fields. It is not a byte-for-byte copy of an operator's source file. A non-blocking output lock serializes the whole bundle, and status verifies the integrity manifest before trusting any report. The obsolete evidence/input-evidence.redacted.json name is removed on the next committed render; consumers must use the normalized filename.
The live validation runner writes bounded, sanitized evidence under splunk-live-validation-runs/:
checkpoint.jsonfor bounded audit history; it is not an execution cacheruns//ledger.jsonlwith one row per planned or executed stepruns//evidence/*.redacted.jsonruns//final-report.jsonand.md
The output namespace is protected by a non-blocking process lock. Run IDs include time, iteration, process ID, and randomness. Checkpoint history is private, bounded, and schema-checked, but every current-run apply render is regenerated; prior step results and artifacts are never reused as current-run success. The runner retains at most 50 recognized run directories in total by default, always preserving the current run; stale or incomplete non-current runs count toward the bound, and the oldest are pruned at safe lifecycle points. Change the positive bound with --max-retained-runs. Command output and REST bodies are bounded, stdin is disabled, and timeout/interrupt handling terminates the whole child process group before finalizing the report.
One-shot and bounded/watch exits reflect the final completed sweep: if its totals contain any hard failures, the runner exits nonzero.
--phase status separates report validity from deployment health. A readable, schema-valid report can still contain findings or incomplete evidence. report_valid is the schema/readability result; deprecated ok is only its alias. healthy, evidence_complete, severity_counts, and health_status carry the assessment. health_status is one of healthy, findings, incomplete, or findings_and_incomplete; never treat report_valid or ok alone as a healthy deployment. strict_ready mirrors the complete-evidence plus high/critical-finding gate used for strict automation, and integrity_verified confirms the committed artifact bundle matched its manifest. Status exits 0 for any valid bundle, including an unhealthy one; automation must gate on the assessment fields rather than the process exit alone.
coverage-report.json includes domain assessments, expected and unassessed evidence paths, product routes, and the exhaustive repository-skill disposition map. A supported feature with missing evidence is unknown, never implicitly healthy.
Read reference.md before changing rule coverage, adding a new fix kind, or expanding apply behavior.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: chambear2809
- Source: chambear2809/splunk-cisco-skills
- License: Apache-2.0
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.