agentleFS
mindfortaimindfortai/security-skills/skills/leadership-report/SKILL.md

leadership-report

Skill16 starsChanged 5 months agoMITView on GitHub

Produces an executive security posture report for non-technical leaders by analyzing a target application or repository with deep appsec rigor. Use when creating board-ready, founder-facing, or customer-facing security reports.

The file

Show its rules and text

We split this skill into the rules it gives an agent

33 rules. About 0 are common, 29 are distinctive, and 4 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈29

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 4

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use this skill when the user wants a decision-ready security posture report for executives, founders, board members, customers, auditors, …

    line 9
  2. Very specific:

    Use templates/leadership-report.html from this skill as the visual and structural template when available.

    line 23
  3. Distinctive:

    Do the deep work before simplifying.

    line 35
  4. Distinctive:

    Do not treat scanner output as truth.

    line 38
  5. Distinctive:

    When Dependabot or security-tooling data is unavailable, say it is unavailable.

    line 39
  6. Distinctive:

    Avoid jargon unless it is essential, and define it in plain language.

    line 40
  7. Distinctive:

    Do not run dependency installation, migrations, destructive commands, production network calls, or broad scanners unless the user …

    line 87
  8. Distinctive:

    Use available security tooling as evidence, not as a substitute for judgment.

    line 110
  9. Distinctive:

    Check for these sources when available:

    line 112
  10. Very specific:

    If the repository is hosted on GitHub and gh is authenticated, useful read-only checks include:

    line 123
  11. Distinctive:

    Only run these if the command is appropriate for the user's environment and authorization.

    line 132
  12. Distinctive:

    When reviewing tool findings:

    line 134
  13. Distinctive:

    Use a simple posture rating:

    line 144
  14. Distinctive:

    Keep confidence low when live configuration, security-tool outputs, or production deployment evidence is missing.

    line 158
  15. Very specific:

    Use status values such as confirmed, likely, needs_validation, tooling_gap, accepted_control, or no_confirmed_findings.

    line 168
  16. Very specific:

    If no confirmed risks are found, still emit the header and one no_confirmed_findings informational row in the appendix.

    line 179
  17. Distinctive:

    Do not overload executives with raw vulnerability lists.

    line 201
  18. Distinctive:

    Prefer "customer data could be exposed" over "confidentiality impact."

    line 207
  19. Distinctive:

    Prefer "one customer may be able to access another customer's records" over "tenant isolation failure."

    line 208
  20. Distinctive:

    Prefer "attackers could abuse this endpoint to run expensive work" over "resource exhaustion vector."

    line 209
  21. Distinctive:

    Prefer "we could not verify" over "unknown unknowns."

    line 210
  22. Distinctive:

    Every major risk must cite the evidence source: code path, config file, test, alert source, scanner output, or explicit missing evidence.

    line 222
  23. Distinctive:

    If a risk is based on absence of evidence, say exactly what was searched and what would close the gap.

    line 225
  24. Distinctive:

    Use temporary stubs only to isolate unavailable external services, credentials, nondeterministic providers, or slow dependencies.

    line 227
  25. Distinctive:

    When subagents are available, ask an independent subagent to challenge high-impact executive risks for evidence quality, business impact, …

    line 229
  26. Distinctive:

    Verify the HTML is self-contained and readable.

    line 235
  27. Distinctive:

    Ensure no placeholder text remains.

    line 236
  28. Distinctive:

    Ensure the top risks are understandable without security expertise.

    line 237
  29. Distinctive:

    Ensure each executive recommendation has an owner type, urgency, and outcome.

    line 238
  30. Distinctive:

    Ensure Dependabot/security-tooling status distinguishes checked, unavailable, disabled, and not checked.

    line 239
  31. Distinctive:

    Ensure the appendix has enough detail for a technical reader to reproduce the assessment path.

    line 240
  32. Distinctive:

    Ensure no unsafe exploitation instructions are included.

    line 241
  33. Distinctive:

    If the user asks for only the report file, keep the chat response brief and point to the generated artifact.

    line 254

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Leadership Report

Use this skill when the user wants a decision-ready security posture report for executives, founders, board members, customers, auditors, or non-technical stakeholders.

The analysis must be rigorous, but the report must be understandable. The agent should investigate like an application-security reviewer, then communicate like a clear executive advisor.

This skill is written for Claude Code, Codex, Cursor, and similar coding agents. Tool names vary by environment; use local equivalents for file search, file reading, shell inspection, Git/GitHub inspection, security-tool output review, and report writing.

Deliverable

Produce a standalone HTML report, preferably named:

leadership-report.html

Use templates/leadership-report.html from this skill as the visual and structural template when available. If the environment cannot directly read skill template files, recreate the same structure from the required report sections below.

The final report must be:

  • Written for non-technical executives.
  • Self-contained with inline CSS only.
  • Clear about confidence, scope, and limitations.
  • Specific enough for engineering and security leaders to act on.
  • Free of exploit payloads, attack recipes, or unnecessary implementation detail.

Operating Principles

  • Do the deep work before simplifying. Executive clarity must be earned from evidence, not guessed.
  • Translate technical risk into business risk: customer trust, revenue, uptime, compliance, data exposure, operational resilience, and deal friction.
  • Distinguish confirmed issues from likely risks and unavailable evidence.
  • Do not treat scanner output as truth. Validate whether findings are relevant to the product, reachable in runtime, exploitable, or blocked by existing controls.
  • When Dependabot or security-tooling data is unavailable, say it is unavailable. Do not report "no findings" unless the source was actually checked.
  • Avoid jargon unless it is essential, and define it in plain language.

Phase 1: Establish Scope

Determine whether the target is:

  • A single repository.
  • A product spanning multiple repositories.
  • A deployed application.
  • An organization or engineering portfolio.
  • A release, pull request, or security program snapshot.

Record:

  • Target name.
  • Date.
  • Reviewer or agent.
  • Branch, commit, release, or time window.
  • Repositories and systems in scope.
  • Explicitly excluded systems.
  • Evidence sources available and unavailable.

Phase 2: Understand The Product Or Organization

Build enough product context to explain security posture in business terms.

Inspect, when available:

  • README, product docs, architecture docs, API docs, runbooks, deployment docs, ADRs, and diagrams.
  • Package manifests, lockfiles, workspace files, build scripts, and release scripts.
  • Route definitions, controllers, handlers, RPC services, GraphQL resolvers, background workers, CLIs, cron jobs, webhooks, queues, and event consumers.
  • Authentication, session, identity, tenant, role, permission, policy, support-access, and admin code.
  • Database schema, migrations, ORM models, storage clients, queues, caches, search indexes, and external integrations.
  • Infrastructure-as-code, Dockerfiles, compose files, Kubernetes manifests, Terraform, CI/CD workflows, environment examples, and secret/config handling.
  • Tests around authentication, authorization, tenancy, validation, security controls, and critical workflows.

Useful repository discovery commands when available:

rg --files
git status --short
git remote -v
git branch --show-current
git rev-parse --short HEAD
rg -n "auth|session|token|tenant|org|role|permission|policy|admin|webhook|secret|encrypt|decrypt|jwt|oauth|saml|csrf|cors|rate|limit"

Do not run dependency installation, migrations, destructive commands, production network calls, or broad scanners unless the user explicitly approves them or the repo workflow clearly permits them.

Phase 3: AppSec Posture Analysis

Analyze the target with the rigor of a professional appsec review, but plan to summarize for executives.

Cover these domains when applicable:

  • Product criticality: what the system protects, who depends on it, and what failure would mean.
  • Authentication and account lifecycle.
  • Authorization, roles, admin boundaries, support access, and tenant isolation.
  • Sensitive data handling, logging, exports, analytics, telemetry, and browser exposure.
  • Input handling: injection, SSRF, file upload, parser, deserialization, template, shell, path, and unsafe execution surfaces.
  • Agentic or LLM-specific risk: prompt injection, tool permission boundaries, retrieval or memory poisoning, cross-tenant context leakage, and model-output-to-action paths.
  • Business logic abuse: workflow state changes, billing, quotas, trials, invitations, approvals, resets, race conditions, and abuse-prone unauthenticated flows.
  • Supply chain and build integrity.
  • Cloud, infrastructure, deployment, and CI/CD exposure.
  • Secrets and cryptography.
  • Abuse prevention, rate limiting, resilience, and operational monitoring.
  • Security test coverage and regression risk.

Phase 4: Dependabot And Security Tooling

Use available security tooling as evidence, not as a substitute for judgment.

Check for these sources when available:

  • GitHub Dependabot alerts.
  • GitHub code scanning alerts, CodeQL, SARIF files, and security tab exports.
  • Secret scanning alerts or local secret-scan reports.
  • Package manager audit output: npm audit, pnpm audit, yarn npm audit, pip-audit, safety, cargo audit, bundler-audit, govulncheck, osv-scanner, and similar.
  • Container and infrastructure scans: Trivy, Grype, Docker Scout, Checkov, tfsec, Terrascan, kube-score, kube-linter.
  • SAST and policy tools: Semgrep, SonarQube, Snyk, Bearer, Brakeman, Bandit, ESLint security plugins, Gosec.
  • DAST or pentest outputs: Burp, ZAP, MindFort, bug bounty reports, customer security reviews, and internal assessment reports.
  • CI results, release gates, branch protection, required checks, and workflow permissions.

If the repository is hosted on GitHub and gh is authenticated, useful read-only checks include:

gh repo view --json nameWithOwner,isPrivate,defaultBranchRef,url
gh api repos/{owner}/{repo}/dependabot/alerts --paginate
gh api repos/{owner}/{repo}/code-scanning/alerts --paginate
gh api repos/{owner}/{repo}/secret-scanning/alerts --paginate

Only run these if the command is appropriate for the user's environment and authorization. If access is denied or the feature is disabled, record that as an evidence limitation rather than a clean bill of health.

When reviewing tool findings:

  • Group duplicates into themes.
  • Highlight reachable or business-relevant risks.
  • De-emphasize findings that are dev-only, unreachable, blocked by controls, or already patched.
  • Preserve critical findings even if they are not easy to explain, but translate them into plain language.
  • Include vulnerability counts only when the source and time window are clear.

Executive Risk Rating

Use a simple posture rating:

  • Strong: material controls are in place, evidence is current, and no high-risk unresolved issues are known.
  • Adequate: core controls exist, but some gaps or validation limits remain.
  • Needs Attention: one or more important risks need near-term executive support.
  • High Risk: credible risk to sensitive data, customers, revenue, production operations, or compliance requires urgent action.
  • Unknown: evidence is too incomplete to responsibly rate posture.

Also assign:

  • Business impact: Low, Moderate, Significant, Severe.
  • Urgency: Immediate, 30 days, 60-90 days, Monitor.
  • Confidence: Low, Medium, High.

Keep confidence low when live configuration, security-tool outputs, or production deployment evidence is missing.

Findings CSV

The report's technical appendix and any chat summary of risks must use this exact CSV header:

id,severity,confidence,status,category,title,location,asset_or_flow,actor,issue,impact,evidence,fix,test,scope_notes

Use status values such as confirmed, likely, needs_validation, tooling_gap, accepted_control, or no_confirmed_findings. Use category values such as authorization, authentication, data-exposure, supply-chain, ci-cd, secrets, infrastructure, llm-agent, business-logic, resilience, tests, or tooling.

For executive reports, keep CSV rows concise and business-readable:

  • issue: what security or evidence gap exists.
  • impact: customer trust, data, uptime, compliance, revenue, operational, or deal impact.
  • evidence: code path, config, test, alert source, scanner output, or explicit missing evidence.
  • fix: executive-actionable remediation.
  • test: validation, control, metric, or security check that proves completion.
  • scope_notes: owner type, urgency, time window, or evidence limitation.

If no confirmed risks are found, still emit the header and one no_confirmed_findings informational row in the appendix.

Required HTML Report Structure

The report must include:

  1. Title block with target, date, scope, revision or time window, and reviewer.
  2. One-page executive summary.
  3. Overall security posture rating.
  4. Top business risks.
  5. What is working well.
  6. Key gaps and why they matter.
  7. Dependabot and security-tooling summary.
  8. Product and architecture context.
  9. Customer, data, compliance, and operational impact.
  10. Recommended executive actions.
  11. 30/60/90-day security roadmap.
  12. Metrics and evidence table.
  13. Technical findings appendix as a CSV-formatted table using the standard findings header.
  14. Confidence, limitations, and open questions.
  15. Appendix with technical evidence sources, commands run, and reviewed files.

Do not overload executives with raw vulnerability lists. Put detail in appendix tables and summarize themes in the main body.

Writing Style

Use plain language:

  • Prefer "customer data could be exposed" over "confidentiality impact."
  • Prefer "one customer may be able to access another customer's records" over "tenant isolation failure."
  • Prefer "attackers could abuse this endpoint to run expensive work" over "resource exhaustion vector."
  • Prefer "we could not verify" over "unknown unknowns."

Avoid:

  • Acronym-heavy prose.
  • Long lists of CVEs without business context.
  • Fear-based language.
  • Unsupported certainty.
  • Detailed exploitation instructions.

Evidence Rules

  • Every major risk must cite the evidence source: code path, config file, test, alert source, scanner output, or explicit missing evidence.
  • Scanner findings must include source and collection date when available.
  • Separate Confirmed, Likely, and Needs Validation.
  • If a risk is based on absence of evidence, say exactly what was searched and what would close the gap.
  • Where locally testable, run focused smoke tests, existing checks, scanner commands, or local harnesses before presenting a major risk as confirmed.
  • Use temporary stubs only to isolate unavailable external services, credentials, nondeterministic providers, or slow dependencies. Do not stub the business-critical control or evidence source being evaluated.
  • Clean up scratch files, local configs, scan outputs, mock services, generated harnesses, and temporary fixtures before finalizing the report unless the user asked to keep them.
  • When subagents are available, ask an independent subagent to challenge high-impact executive risks for evidence quality, business impact, severity, and confidence before finalizing the report.

Output Quality Bar

Before finalizing:

  • Verify the HTML is self-contained and readable.
  • Ensure no placeholder text remains.
  • Ensure the top risks are understandable without security expertise.
  • Ensure each executive recommendation has an owner type, urgency, and outcome.
  • Ensure Dependabot/security-tooling status distinguishes checked, unavailable, disabled, and not checked.
  • Ensure the appendix has enough detail for a technical reader to reproduce the assessment path.
  • Ensure no unsafe exploitation instructions are included.

Agent Workflow

  1. Confirm target and scope when ambiguous.
  2. Discover repository, product, or organization structure.
  3. Gather architecture, appsec, dependency, CI/CD, and security-tooling evidence.
  4. Analyze the actual business risk behind the technical findings.
  5. Group risks into executive themes.
  6. Draft the HTML report using the template.
  7. Validate the report for readability, completeness, and evidence integrity.
  8. Return the output path and a short summary of the posture rating and top actions.

If the user asks for only the report file, keep the chat response brief and point to the generated artifact.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.