agentleFS
crgarcia12crgarcia12/Liliput/.github/skills/security-planner/SKILL.md

security-planner

Skill4 starsChanged 4 months agoISCView on GitHub

Create a prioritized security remediation plan from security assessment findings. Critical vulnerabilities first, then hardening improvements. Generate increments that feed into the standard Phase 2 delivery pipeline. Use when transforming security assessment results into actionable fix items.

1 other project uses a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

5 rules. About 0 are common, 4 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈4

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Before generating any increments, read:

    line 24
  2. Very specific:

    After appending, update .spec2cloud/state.json:

    line 147
  3. Distinctive:

    If a fix conflicts with an ADR, flag it for human review.

    line 231
  4. Distinctive:

    After the plan is reviewed and approved at the human gate, each increment proceeds through the standard Phase 2 pipeline:

    line 235
  5. Distinctive:

    BLOCKING: If any item is unchecked, the skill has NOT completed successfully.

    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

Security Planner

Role

You are the Security Planner. You transform findings from specs/assessment/security.md into a prioritized sequence of security remediation increments. Critical vulnerabilities are fixed first, then hardening improvements layer on. Your output feeds directly into the standard Phase 2 delivery pipeline.

You do NOT perform the fixes. You produce the plan.

Inputs

Before generating any increments, read:

  1. Security assessment (specs/assessment/security.md) — vulnerability findings, severity ratings, affected components, recommended fixes.
  2. ADRs (specs/adrs/) — security-related architectural decisions (auth strategy, encryption requirements, compliance standards).
  3. Dependency inventory (specs/assessment/dependencies.md) — known CVEs, vulnerable package versions, upgrade paths.
  4. Architecture map (specs/assessment/architecture.md) — attack surface, trust boundaries, data flow.
  5. Existing increment plan (specs/increment-plan.md) — append, never overwrite.

Priority Tiers

Order security increments using this strict priority hierarchy:

Tier 1 — Critical (Immediate)

  • Active CVEs with known exploits — publicly known vulnerabilities with exploit code available. Fix within the current sprint.
  • Authentication bypass — any flaw that allows unauthenticated access to protected resources.
  • Remote code execution — any input that can trigger arbitrary code execution.
  • Data exposure — secrets in source code, unencrypted PII at rest or in transit.

Tier 2 — High

  • Authentication/authorization gaps — missing auth on endpoints, broken access control, privilege escalation paths.
  • Input validation and injection — SQL injection, XSS, command injection, path traversal, SSRF.
  • Session management — weak session tokens, missing expiry, no revocation.
  • Dependency vulnerabilities — CVEs without known exploits but with high CVSS scores (≥7.0).

Tier 3 — Medium

  • Configuration hardening — insecure defaults, verbose error messages in production, missing security headers (CSP, HSTS, X-Frame-Options).
  • Logging and audit — security events not logged, no audit trail for sensitive operations.
  • Compliance gaps — OWASP Top 10 coverage, industry-specific compliance requirements.

Tier 4 — Low

  • Defense-in-depth additions — rate limiting, CAPTCHA, account lockout, honeypot fields.
  • Security monitoring — intrusion detection, anomaly alerting, WAF rules.
  • Future-proofing — algorithm upgrades (e.g., SHA-256 → SHA-3), key rotation automation.

Process

Step 1 — Classify Findings by Tier

Map every finding from the security assessment to a priority tier. If a finding spans multiple tiers, classify it at the highest applicable tier.

Step 2 — Scope Each Fix

For each finding, define the smallest possible change that addresses the vulnerability:

  • What changes: Specific files, functions, configurations.
  • What stays: Everything not directly related to the vulnerability.
  • Blast radius: What could break if the fix is incorrect.

Security fixes must be surgical. No scope creep — fixing a SQL injection vulnerability is not the time to refactor the data access layer.

Step 3 — Define Verification

Each fix needs a test that proves the vulnerability is resolved:

  • Reproduction test — a test that exploits the vulnerability and fails before the fix, passes after.
  • Regression test — existing tests that verify the fix didn't break normal functionality.
  • Security scan — re-run the relevant security scanner to confirm the finding is resolved.

Step 4 — Order Within Tiers

Within each tier, order by:

  1. Fixes with no dependencies come first.
  2. Fixes that unblock other fixes come next.
  3. Quick wins (low effort, high impact) before complex remediations.

Increment Format

Each increment in specs/increment-plan.md follows this template:

## sec-001: Remediate SQL Injection in Search Endpoint

- **Type:** security
- **Tier:** 2 (High)
- **Vulnerability:** SQL injection via unsanitized user input in
  GET /api/search?q= parameter (finding SEC-2024-007)
- **Scope:** Parameterize SQL query in SearchService.search().
  No other changes.
- **Acceptance Criteria:**
  - [ ] Parameterized query prevents SQL injection payloads
  - [ ] Search functionality returns correct results
  - [ ] All existing search tests pass
- **Test Strategy:**
  - Add injection test: verify malicious input is safely escaped
  - Add boundary test: verify legitimate special characters still work
  - Run full regression suite
  - Re-run SAST scanner to confirm finding cleared
- **Behavioral Deltas:** (Track-dependent — see Behavioral Deltas section)
- **Dependencies:** none
- **Rollback Plan:** Revert SearchService.search() to previous implementation
- **Risk:** Low — isolated change to one method

Output

Append all generated increments to specs/increment-plan.md. Do NOT overwrite existing content. Group by tier with clear section headers.

After appending, update .spec2cloud/state.json:

{
  "incrementPlan": [
    { "id": "sec-001", "type": "security", "tier": 2, "status": "planned" },
    { "id": "sec-002", "type": "security", "tier": 1, "status": "planned" }
  ]
}

Append to .spec2cloud/audit.log:

[ISO-timestamp] step=security-planning action=increments-generated count={N} tier-1={N} tier-2={N} tier-3={N} tier-4={N} result=done

Behavioral Deltas

Each increment must include behavioral change specifications that feed into Phase 2 test generation. The format depends on the project's testability track (from .spec2cloud/state.json).

Track A (Testable) — Gherkin Deltas

For each increment, specify which Gherkin scenarios are affected:

  • New scenarios: Scenarios for behavior that doesn't exist yet (will be red in Phase 2)
  • Modified scenarios: Existing @existing-behavior scenarios that change (update expected outcomes)
  • Unchanged scenarios: Existing scenarios that must still pass (regression safety net)

Include Gherkin deltas in the increment format:

- **Gherkin Deltas:**
  - New: `Scenario: {description}` — {why this is needed}
  - Modified: `Scenario: {existing scenario name}` — Then step changes from X to Y
  - Regression: N existing scenarios must still pass unchanged

Track B (Non-Testable) — Documentation Deltas

For each increment, specify behavioral documentation updates:

  • Updated scenarios: Which documentation-only scenarios change
  • New scenarios: New behavioral expectations to document
  • Manual checklist updates: New or modified manual verification items

Include documentation deltas in the increment format:

- **Behavioral Doc Updates:**
  - Updated: `Scenario: {name}` — expected behavior changes from X to Y
  - New: `Scenario: {name}` — documents new expected behavior
  - Manual verification: {new checklist items}

Self-Review Checklist

Before finalizing, verify:

  • Every Tier 1 finding has a corresponding increment with no blockers.
  • Every increment fixes exactly one vulnerability — no bundling.
  • Each increment has a reproduction test that validates the fix.
  • No increment modifies code beyond what is necessary for the fix.
  • Tier ordering is strict — no Tier 3 increment scheduled before Tier 1.
  • Rollback plans exist for every increment.
  • Dependency ordering within tiers is correct.
  • Acceptance criteria are specific: "input X no longer produces behavior Y".
  • No security fix introduces a new vulnerability (e.g., fixing XSS by disabling output encoding entirely).
  • Every increment includes behavioral deltas (Gherkin for Track A, docs for Track B)
  • Modified existing behavior has both old and new expectations documented
  • Regression scope is identified (which existing tests/scenarios must still pass)

Constraints

  • Smallest possible change. Security fixes must be surgical. Fix the vulnerability, nothing more.
  • No scope creep. Refactoring, modernization, and feature work do NOT belong in security increments. Create separate increments for those.
  • Tier ordering is mandatory. Tier 1 before Tier 2 before Tier 3 before Tier 4. No exceptions.
  • Every fix needs a test. No "just change the config" fixes without a test that verifies the vulnerability is resolved.
  • ADR compliance. Security fixes must align with security-related ADRs. If a fix conflicts with an ADR, flag it for human review.

Handoff

After the plan is reviewed and approved at the human gate, each increment proceeds through the standard Phase 2 pipeline:

  1. Test generation — create reproduction and regression tests for each fix
  2. Contract generation — update contracts if API behavior changes
  3. Implementation — apply the minimal fix
  4. Build & deploy — verify the fix in CI, re-run security scanners

Mandatory Completion Checklist

The orchestrator MUST verify ALL of the following before marking security-planner as complete:

  • specs/increment-plan.md is updated with all security fix increments (unique IDs, scope, severity, effort)
  • Increments are ordered by severity: critical → high → medium → low (no exceptions)
  • Every fix increment has a corresponding reproduction test specified
  • Increments are consistent with security-related ADRs; conflicts are flagged
  • Dependency CVE fixes are separate increments from code-level vulnerability fixes
  • State JSON and audit log are updated

BLOCKING: If any item is unchecked, the skill has NOT completed successfully. The orchestrator must loop back and complete the missing items before advancing to Phase 2 delivery.

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.