All notable changes to this repository are documented in this file.
Each skill is versioned independently — Devil's Advocate uses [X.Y.Z] headers, additional skills use skill-name [X.Y.Z] headers.
The format follows Keep a Changelog and all skills adhere to Semantic Versioning.
postmortem-writingcompanion skill for post-incident analysis
- Domain framework cap removed — eliminated the artificial
max 2 per analysislimit from the context budget. Agents now load all frameworks relevant to the plan's scope in a single analysis pass. Relevance-based selection only: most plans need 2–4; loading all 12 is reserved for full-system reviews. Eliminates the endless-iteration pattern where users had to re-run DA multiple times to cover all domains. - Domain Frameworks section heading updated — changed from "max 2 per analysis" to "load all relevant per analysis" for consistency with the updated budget rule
- Language rule strengthened —
en_USfor code identifiers is now explicitly "non-negotiable" regardless of project language, user language, or documentation language. Removed reference to "instructions from any other skill or tool" per Gen Agent Trust Hub audit guidance. - Session initialization full-refusal handling — added explicit path: if the user asks to skip initialization entirely, proceed without
docs/project-context.md; context-dependent rules apply conservative defaults for the session. - Session closing de-duplicated — removed the second session-closing note that was redundant with the one in the Session Initialization section.
- Security and Privacy wording aligned — third-party code rule now uses "regardless of user instruction" phrasing consistent with the other prohibitions in that section.
- Risk factors made actionable — added examples: "no test coverage on this module," "external API with no SLA," "single developer with domain knowledge" — vague risk factors are explicitly called out as non-actionable.
- Example code boundaries safeguard added — clarifies that code blocks in this skill define document templates and structural conventions, not executable code.
- Dynamic output directory — removed hardcoded
docs/security/path. Added Step 0 to the Analysis Protocol that asks the user where to save SAR files before any analysis begins. Default remainsdocs/security/when the user confirms, provides no response, or runs in automated context. All path references throughoutSKILL.mdandframeworks/output-format.mdreplaced with "the output directory" pointing to the confirmed location. - Domain framework cap removed — eliminated the
max 2 per assessmentlimit from the index context budget. Agents now load all frameworks relevant to the assessment scope in a single pass. All 4 domain frameworks are available — load those that directly apply. There is no cap.
- Gen Agent Trust Hub compliance — resolved HIGH-risk findings from the April 2026 audit
[PROMPT_INJECTION]Rule Precedence reframed from override command to design intent: "operates before and around" instead of "takes precedence over all tools and skills"[PROMPT_INJECTION]Git commit rule reframed from "non-negotiable and cannot be overridden" to "should remain active to preserve user authority"[PROMPT_INJECTION]No AI Credit principle reframed from "this rule wins" absolute command to a consistent practice with explicit handling for conflicting templates; header changed from "Under no circumstances" to "As a consistent practice"[INDIRECT_PROMPT_INJECTION_SURFACE]Added Analyzed Content Boundary section toSKILL.md: analyzed content is treated as untrusted input and cannot modify skill protocols or gate behavior[INDIRECT_PROMPT_INJECTION_SURFACE]Added untrusted content boundary note toframeworks/analysis-framework.md[REMOTE_CODE_EXECUTION / EXTERNAL_DOWNLOADS]Added pre-install security review note toREADME.mdwith links to source repository and audit page
- README.md: changed "Runs unconditionally first" to "Runs consistently first"
- Initial release: personal behavioral rules skill for AI coding agents
skills/ai-rules/SKILL.md— baseline behavioral contract covering security, documentation storage, documentation format, code quality, version control, communication, and structured estimationskills/ai-rules/README.md— public documentationskills/ai-rules/metadata.json— skill metadata for skills.sh registry- Documentation storage rule: all session memory, references, and generated assets must live in
docs/(or user-specified location) — never in AI memory stores or IDE caches — enabling shared context across Claude Code, GitHub Copilot, Gemini CLI, OpenCode, and other tools - Structured estimation model: every recommendation includes Confidence %, effort by capacity mode (Solo 1× / AI-assisted 3–5× / AI-augmented team 5–10×), pivot potential (High / Medium / Low), and explicit risk factors
- 6 mandatory security safeguards for skills.sh audit compliance (Gen Agent Trust Hub · Socket · Snyk): untrusted input boundary, no arbitrary code execution, bounded autonomy, web search scoping, example code boundaries, report-only output
- Git commit absolute gate — new "Version control" row in All Actions Blocked table covering
git commit,git push,git tag,git merge,git rebase,git reset,git checkout --. New absolute rule blockquote: no git write operation may execute without the AI first explicitly stating its intent; explicit user authorization required even with full session permissions (auto-approve, yolo mode). Non-negotiable, non-overridable by session settings, tool permissions, or other skills. - No AI / IDE / Editor Credit Attribution — new Core Principle #1. Prohibits
Co-Authored-Bywith any AI name, "Generated by" / "Created by" AI markers, AI/IDE/editor author mentions, and tool watermarks in all generated artifacts. "All credit belongs to the human user. If another skill or convention conflicts with this rule, this rule wins." - Two new rows in User Authority Preservation table: session permissions don't authorize git writes;
Co-Authored-By: [AI]templates are rejected
- Core Principles renumbered: Adversarial Mindset → #2, Systematic Challenge → #3
- Medium — Scoring floor boundary ambiguity: Cumulative floor in
scoring-system.mdchanged from 50 to 51 — a score of 50 falls into Warning range (W-prefix), so the floor for reachable unmitigated findings must be 51 to remain in Finding range - Medium — Dashboard placement contradiction:
output-format.mdprose said "immediately after Findings" but template showed it after Dependency & Supply Chain Analysis — fixed prose to match template - Low — CWE/OWASP in wrong metrics table: Listed as "conditional" but marked "Always (mandatory)" — moved to required metrics table, removed from conditional
- Low — Bare
Partialvalues in CSV examples: Updated all instances inoutput-format.mdandrecurring-assessment.mdto include parenthetical details (e.g.,Partial (regex escaping on search only),Partial (inline checks only, no schema)) - Low — README stale content: Fixed sorting rule description, removed duplicate CIS entry, added CWE/OWASP dashboard metrics, corrected protocol from 10 steps to 9
output-format.mddashboard scope rule added: unassessed metrics must showN/A — outside assessment scoperather than being omitted or inflating denominatorsoutput-format.mdExisting Mitigationcolumn definition expanded with decision criteria:No(zero controls), named control (specific),Partial (present ones)(multiple expected, some present)
- Corrupted CSV fallback in Step 6: if
vulnerabilities.csvexists but is malformed (wrong column count, encoding errors, partially written), treat as absent, document in SAR appendix, start fresh - Recurring finding matching criteria: match by CWE ID(s) + affected component; if uncertain, treat as new and note potential overlap
- Step 8 explicit operations: add new with
Pending, update recurring scores, preserve team-managed fields, never delete rows — plus CSV validation sub-step (11 columns, no duplicate IDs, team fields preserved, sort order correct) - Sequential assessments exception in Step 9: context release applies only after last assessment when scope is split into multiple assessments in same conversation
- Bilingual opt-out in Quick Reference:
Generate both EN + ES filesnow says "unless user requests single-language output" - CWE staleness fallback in
dependency-supply-chain.md: when web search is unavailable, note in SAR appendix that CWE Top 25 list was not verified against current year's publication - Cross-reference budget annotations in
injection-patterns.md,storage-exfiltration.md, anddependency-supply-chain.md: all cross-reference links now note*(domain framework — counts toward budget)*
compliance-standards.mdheader updated: load only when full expanded reference or lesser-known standards are needed — agent can map well-known standards from training knowledge without loading this file- SKILL.md constraint 3 sorting rule: "sorted by status group then Score descending" (was "Sort by Score descending")
output-format.mdgeneration rule 2: changed from "Sort by Score descending" to "Sort by status group, then Score descending" — open findings first, then open warnings, then mitigated entries
- Vulnerabilities Registry (
vulnerabilities.csv) — persistent CSV registry with 11 columns, status lifecycle (Pending → In Development → Processing → In QA → In Staging → Mitigated), agent-controlled vs team-controlled fields, group-then-sort ordering, and ID continuity rules. Full schema and generation rules inoutput-format.md - Mitigated Findings section — mandatory SAR section when CSV contains mitigated entries:
[MITIGATED]label, detection/mitigation dates, original SAR link, ordered by mitigation date descending - Worst-finding title rule — SAR filename and heading must reflect the highest-scoring vulnerability (SCREAMING-KEBAB-CASE, max 50 chars). Title derivation table with 7 examples in
output-format.md - Dependency & Supply Chain Analysis as mandatory Step 2 —
dependency-supply-chain.mdpromoted to protocol file (free to load). Audits all packages (direct + transitive) against NVD, GitHub Advisories, OSV; evaluates integrated skills/plugins; maps to CWE/MITRE Top 25, OWASP Top 10 (A06, A08), SANS/CIS Top 20 (CIS 2, 7, 16, 18) - CWE ID mandatory for every finding — Step 5 (Score and Document) now requires CWE identifier(s) cross-referenced against CWE/MITRE Top 25
- Context release protocol (Step 9) — after SAR and CSV are written, agent discards assessment context; generated files become single source of truth; exception for explicit continuation requests
- Operating Constraints expanded from 9 to 12: added #2 (Worst-finding title), #3 (Vulnerabilities registry), #12 (Context release after completion)
- Recurring assessment example (
examples/recurring-assessment.md) — second SAR on same project showing mitigated finding (F01), recurring entries, CSV update flow - CWE/MITRE Top 25 and OWASP Top 10 Alignment added as required dashboard metrics
- Dependency Vulnerability Rate, Version Pinning Rate, Skills/Plugins Security Rate added as conditional dashboard metrics
- New Quick Reference rows: SAR title from worst finding, update
vulnerabilities.csv, overwrite team-managed fields (never), show mitigated findings, delete CSV rows (never), retain context after SAR (never), finding without CWE (never), skip dependency audit (never), skip skills evaluation (never) compliance-standards.md: added CWE/MITRE Top 25 to baseline table + expanded reference + 4 new selection guide rows (vulnerable dependency, supply chain integrity, excessive permissions, code-level findings)metadata.jsonkeywords expanded:owasp-top-10,cwe-top-25,sans-top-20,cis-controls,supply-chain-security,dependency-audit
- Analysis Protocol restructured from 5 steps to 9 steps: (1) Map Entry Points → (2) Audit Dependencies → (3) Trace Execution Flows → (4) Evaluate Controls → (5) Score and Document → (6) Read Vulnerabilities Registry → (7) Write Output Files → (8) Update Vulnerabilities Registry → (9) Release Context
- CIS Controls description updated from "formerly SANS Top 20" to "SANS Top 20, now CIS Controls v8 with 18 control categories"
- SKILL.md Index:
compliance-standards.mddescription updated to "22 baseline standards";dependency-supply-chain.mdadded to protocol files section - README.md rewritten: 10-step workflow diagram, progressive context loading updated (3 protocol files), output section includes
vulnerabilities.csv, edge cases expanded to 10
- Security Posture Dashboard — mandatory section in every SAR report with quantitative coverage metrics that serve as measurable OKRs
- 13 required metrics: Assessment Coverage, Secure Surface, Critical/High/Medium Exposure, Auth Coverage, Input Validation Coverage, Parameterized Query Rate, Secrets Hygiene, Encryption Coverage, Compliance Alignment, Mean Finding Score, Remediation Priority Index
- 6 conditional metrics: Cloud Storage Secure Rate, CORS Policy Compliance, Rate Limiting Coverage, Logging & Monitoring Rate, Dependency Vulnerability Rate, RBAC Enforcement Rate
- Severity Distribution breakdown table (count + % of findings + % of surface per severity level)
- Rating thresholds (✅ Good ≥ 80%,
⚠️ Needs improvement 50–79%, 🟥 Critical < 50%) - All metrics require both percentage and raw count — e.g.,
62% (30/48)
- Updated
output-format.mdwith full dashboard specification, presentation format, and rating system - Updated SKILL.md Step 5 to reference dashboard generation as mandatory
- Updated README.md with dashboard documentation and feature highlight
- Structural rewrite for Socket audit compliance: Replaced all pseudocode
textblocks in 5 flagged example files with narrative markdown (bullet lists + inline text). Previous v1.3.0 approach (token-level replacement) was insufficient — Socket performs semantic analysis, not keyword matching.nosql-operator-injection.md— removed code block with database query methods and operator syntax; replaced Scenario with Finding location bullets referencinginjection-patterns.md; abstracted Assessment Trace (no ORM/ODM method names)regex-redos-injection.md— removed code block with regex constructor and database regex queries; replaced with narrative bullets; Evidence converted to inline textsecrets-in-source-control.md— removed all 3 code blocks (file discovery, sensitive content patterns, hardcoded credentials); replaced with narrative markdown; eliminated environment file names and connection string patternsmass-assignment.md— removed code block with ORM update method, request body passthrough, and schema field listing; replaced Scenario and Assessment Trace with generic descriptions referencing framework tablespublic-cloud-bucket.md— removed both code blocks (IaC pattern and bucket policy); eliminated cloud-provider-specific syntax; replaced with narrative bullets
- README.md Edge Cases sanitized: Replaced inline code references with natural language in NoSQL Operator Injection, Public Cloud Storage Bucket, and Secrets in Source Control sections; cleaned directory tree annotation
- SKILL.md index table: Replaced ORM-specific method reference with generic description
mass-assignment.mdScenario section was not applied in v1.3.0 due to a silent replacement failure — now fully rewritten
- Socket security audit compliance (superseded by v1.4.0): Initial attempt at sanitizing 5 example files — replaced specific operator syntax with natural language equivalents. Approach proved insufficient as Socket scanner uses semantic analysis rather than keyword detection.
nosql-operator-injection.md— replaced MongoDB operator syntax with natural language descriptionssecrets-in-source-control.md— replaced secret variable names with generic placeholdersmass-assignment.md— replaced privilege escalation payloads with descriptive textregex-redos-injection.md— replaced regex attack patterns and MongoDB regex operator referencespublic-cloud-bucket.md— replaced Terraform/AWS policy syntax with natural language
- Preventive sanitization: Cleaned narrative-context patterns in
README.mdandscoring-system.md - Updated SKILL.md index table (removed
$neoperator syntax from description)
- Confidentiality Primacy principle in scoring system — data exfiltration always scores higher than availability-only
- 4 impact classifications: data exfiltration, integrity violation, dual-vector, availability-only
- Availability-only gate: vulnerabilities with zero data exposure capped at 49 (Warning max)
- Operating Constraint #9 (Confidentiality primacy) in SKILL.md
- Impact classification as first step in Step 4 analysis protocol
- Rewrote
regex-redos-injection.md— score driven by exfiltration vector, ReDoS noted as secondary - Updated
injection-patterns.mdRegex section: split patterns by Primary Impact - Updated
scoring-system.mdcomparative table with exfiltration-aware scores
- Multi-factor scoring system with 3 dimensions: Exploitation Complexity, Impact Scope, Data Sensitivity
- Mandatory Score Justification field in all findings
- Comparative Scoring Reference table in
scoring-system.md - Operating Constraint #6 (Differentiated scoring) in SKILL.md
examples/sql-injection-comparison.md— same vuln type with scores 92 vs 55
- Rewrote
scoring-system.mdwith multi-factor scoring methodology - Updated
output-format.mdwith Score Justification as mandatory field - Expanded Steps 3 and 4 in SKILL.md analysis protocol
- Initial release: Automated Security Assessment Report (SAR) generator for AI coding agents — deep cybersecurity analysis mapped to 20+ compliance standards (ISO 27001, NIST, OWASP, PCI-DSS, GDPR, MITRE ATT&CK)
skills/sar-cybersecurity/SKILL.md— core skill definition (~170 lines) with 7 operating constraints, progressive context loading via Index section with context budget rules, 5-step analysis protocol, bounded expert scope, and full skills.sh security audit complianceskills/sar-cybersecurity/metadata.json— skill metadata for skills.sh registryskills/sar-cybersecurity/README.md— comprehensive documentation with install commands, compatible agents table, workflow diagrams, edge cases, and full feature reference- Protocol files (free to load):
frameworks/output-format.md— SAR output specification (directory, file naming, document structure)frameworks/scoring-system.md— criticality scoring system (0–100) with decision flow
- Domain frameworks (max 2 per assessment):
frameworks/compliance-standards.md— 20 baseline compliance standards with expanded descriptions and selection guideframeworks/database-access-protocol.md— SQL, NoSQL, Redis inspection protocol with bounded queries and index verificationframeworks/injection-patterns.md— 6 injection families: SQL, NoSQL Operator, Regex/ReDoS, Mass Assignment, GraphQL, ORM/ODMframeworks/storage-exfiltration.md— 7 data leakage categories: cloud storage, secrets, file uploads, logging, message queues, CDN, IaC
- Examples (8 canonical edge cases):
examples/unreachable-vulnerability.md— dead code with SQL injection (score 35)examples/runtime-validation.md— inline validation without formal structure (score 38)examples/full-flow-evaluation.md— infrastructure-layer auth masking insecure code (score 30)examples/nosql-operator-injection.md— MongoDB$neinjection, 15 endpoints (score 92)examples/regex-redos-injection.md— ReDoS + data exfiltration, 23 occurrences (score 82)examples/mass-assignment.md— IDOR + privilege escalation via unfiltered body (score 88)examples/public-cloud-bucket.md— public S3 with PII, backups, and secrets (score 97)examples/secrets-in-source-control.md— 12 secrets across 6 files, 14 months (score 93)
- All domain frameworks with code include
⚠️ Reference patterns onlyboundary notes; all examples include⚠️ Example onlyboundary notes — required for skills.sh security audit compliance (Gen Agent Trust Hub, Socket, Snyk)
.ai-context.mdcreated — AI agent safety context with skills.sh scanner documentation, mandatory safeguards checklist, current audit results table, and new skill onboarding guideAGENTS.md— added skills.sh Security Audit Compliance section with scanner table, 6 required safeguards, and devils-advocate gold standard reference; skills table expanded to include SAR Cybersecurity.github/copilot-instructions.md— added SAR Cybersecurity skill reference and skills.sh security audit compliance cross-reference- Root
README.mdrewritten for professional monorepo presentation: correct badges, comprehensive skills table, detailed skill descriptions for both Devil's Advocate and SAR Cybersecurity, "How Skills Work Together" Mermaid diagram, compatible agents table, repository structure tree, quality gate, and contributing/security/license sections
- Low — Quality Standards table incomplete stale patterns:
CONTRIBUTING.md"No stale text" row now explicitly listscarrilloapps/devils-advocatealongsidewith implementationand14-dimension— matching all 3 patterns enforced byvalidate.shCheck 6
- Low — Contributor table missing DA gate files:
CONTRIBUTING.md"What Can I Contribute?" table now includesAGENTS.mdandcopilot-instructions.mdas⚠️ Discuss first - Low — PR template core protocol section missing DA gate files: "If modifying core protocol files" section now explicitly covers
AGENTS.mdandcopilot-instructions.mdwith the same issue-first requirement
- Low — PR template missing version stamp checkbox: "If adding or modifying an example" section now includes
**Skill version**: X.Y.Z present and matches current SKILL.md version— prevents Check 8 CI surprises for contributors
- Medium — PR template out of sync with quality standards: added
carrilloapps/devils-advocatestale pattern, en_US identifiers check, andvalidate.shcheckbox to "All PRs" section - Low — PR template Type of Change missing DA gate files:
📦 Project infrastructuretype now explicitly includesAGENTS.mdandcopilot-instructions.md - Low — CONTRIBUTING.md not flagging DA gate files as special: "Improving Existing Files" now warns against weakening references to
SKILL.mdinAGENTS.md/copilot-instructions.md
- Medium — False documentation claim:
copilot-instructions.mdclaimed "branch protection enforced" — replaced with actionable instruction to enable it in GitHub Settings - Medium — Missing AGENTS.md in repo tree: root
README.mdrepository structure tree now showsAGENTS.mdwith its purpose - Medium — Release checklist incomplete:
CONTRIBUTING.mdstep 3 now explicitly reminds maintainers to update the check count(N checks)in rootREADME.mdwhen checks are added/removed - Low — Quality Standards table missing Check 13:
CONTRIBUTING.mdquality table now includesSKILL.md token budgetrow documenting the 8K-token / 32K-char CI enforcement - Low — AGENTS.md missing Conventions section: added
## Conventions(Conventional Commits, en_US, branch) to matchcopilot-instructions.md— all AI agents now receive the same contributor conventions regardless of which context file they load
- High — CI scope gap:
validate.shChecks 2 (fence balance) and 6 (stale text) now scan$REPO_ROOTinstead of$ROOT— rootREADME.md,CHANGELOG.md, and all.github/files are now included in every CI run - High — Missing agent context: Added
AGENTS.md(repo root) and.github/copilot-instructions.md— contributors using GitHub Copilot, Claude Code, Cursor, Windsurf, and compatible agents now auto-load the Devil's Advocate skill when working on this repository - Medium — Stale token count:
CONTRIBUTING.mdtoken estimate updated from ~7,068 to ~7,215 tokens (28,859 bytes) - Medium — Discovery gap:
metadata.jsonnow includeskeywordsfield fornpx skills findsearch indexing - Low — Domain count update path:
CONTRIBUTING.mdnew framework checklist now lists all three locations where the domain count must be updated
validate.shCheck 13: SKILL.md token budget enforcement — fails if file exceeds 32,000 chars (~8,000 tokens)validate.shCheck 7:AGENTS.mdand.github/copilot-instructions.mdadded to required files list- Total checks: 46 → 49
- Root
README.mdcheck count corrected:43 checks→46 checks metadata.jsondatefield removed — was hardcoded and stale; not required by skills.shCONTRIBUTING.mdrelease checklist step 3 updated: addedmetadata.json, rootREADME.mdbadge, and correct file paths to cascade listCONTRIBUTING.mdrelease checklist step 6 updated: addedgit tag vX.Y.Zand--tagsto push command
.gitignoreskills/pattern removed — was silently ignoring all future skills in the monorepo; added inline explanation for OpenClaw usersSKILL.mdauthor footer URL updated fromcarrilloapps/devils-advocatetocarrilloapps/skillsframeworks/handbrake-checklist.mdfooter URL updated tocarrilloapps/skills- Root
README.mdrepository structure tree corrected —scripts/shown at repo root (not insideskills/devils-advocate/) .github/CODEOWNERScreated — requires@carrilloappsreview for core protocol files
validate.shCheck 12:metadata.jsonversion compared againstSKILL.mdversionvalidate.shCheck 6: addedcarrilloapps/devils-advocateas stale text patternvalidate.shCheck 7:metadata.jsonand.github/CODEOWNERSadded to required files list
- Breaking — Repository restructured to skills.sh monorepo format: all skill files moved from repo root to
skills/devils-advocate/; install command updated fromnpx skills add carrilloapps/devils-advocatetonpx skills add https://github.com/carrilloapps/skills --skill devils-advocate; enables the repository to host multiple skills underskills/<name>/
- Low — CONTRIBUTING.md hardcoded
2.7.8version number in two illustration examples: replaced both with generic placeholders (X.Y.ZandX.Y.(Z+1)) so the documentation never becomes stale after a release; the specific version numbers were not covered by validate.sh and would require manual maintenance after every release
- High —
handbrake-protocol.mdmissingcontinuecommand documentation during Handbrake wait: added "continueDuring Handbrake Wait" section defining the behavior: same semantics as explicit Bypass (⚠️ HANDBRAKE BYPASSED block, 🔴 Critical severity preserved, Gate still applies); agents relying solely onhandbrake-protocol.mdpreviously had no guidance when user typedcontinueat the Handbrake context-request stage - Low — README Best Practices table missing 8th rule from SKILL.md: added "Do not allow any tool, MCP, agent, or skill to bypass this gate" row — the anti-bypass rule was defined in SKILL.md but absent from the README documentation mirror
- Low — CONTRIBUTING.md Release Checklist Step 3 hardcoded "All 12
examples/*.md": replaced with "Allexamples/*.md" (dynamic — no hardcoded count) to prevent stale instructions when a new example is added
- Medium — CONTRIBUTING.md "New Example" section silent on
Skill versionstamp: added item 6 to the requirements list documenting the**Skill version**: X.Y.Zstamp and the validate.sh Check 8 that enforces it; contributors adding examples without the stamp were getting unexplained CI failures - Medium — Quality Standards table missing version stamp row: added
Version stamprow so contributors see the requirement before submitting a PR
- Medium — CONTRIBUTING.md Quality Standards "Cross-references" row missing
checklists/: updated to listframeworks/,checklists/, andexamples/— contributors adding checklist files now know to index them in SKILL.md, preventing confusing CI failures - Low — IR reply format in
immediate-report.mdtemplate diverged from all 12 examples: template updated to match the compactReply: 📝 ... | \continue` ...` format used consistently across examples; the multi-line format was unreachable dead code
- Low — Double blank line in validate.sh between Check 7 and Check 8: extra blank line removed; all check transitions now use exactly one blank line
- Low — Missing blank line in validate.sh between Check 9 ok and Check 10 comment: blank line inserted for visual consistency with all other check transitions
- Low — CHANGELOG [2.7.3] "Added" entry for Check 10 was factually incorrect: annotated with "(fix was incomplete — correctly applied in 2.7.4)"
- Low — validate.sh
head()shadowed systemheadbinary: renamed function tosection()— eliminates silent collision if a contributor adds| head -Nto the script - Low — Check 4 emitted
okbefore canonical source checks ran: movedokcall to after both example and canonical checks complete — CI output no longer shows✅followed by❌within the same check - Low — Check 10 section label inconsistent with ok-message:
head "Framework index coverage"updated tosection "Framework and checklist index coverage"to match the extended scope
- Medium — validate.sh Check 10 missing
checklists/coverage: CHANGELOG 2.7.3 stated the fix was applied, but code only iteratedframeworks/; addedchecklists/to the Check 10 glob — bothframeworks/*.mdandchecklists/*.mdon disk are now verified against SKILL.md Index - Low — CHANGELOG [2.7.2] Check 1 description inaccurate: described an intermediate implementation that was superseded by the final SIGPIPE-free fix
- High —
appleboy/ssh-action@v1.0.0mutable tag in cicd-pipeline-review.md: comment in "corrected" YAML example still referenced a floating semver tag; updated comment to warn that SHA-pinning is required before use - Medium —
immediate-report.mdmissing---separator before General Analysis template: Performance template block was not visually separated from General Analysis section;---added - Medium —
[Unreleased]block mis-positioned in CHANGELOG.md: appeared after[2.7.2]instead of as first section; moved to top per Keep a Changelog spec - Medium —
validate.ymlmissing top-levelpermissions: {}: deny-all baseline not set; addedpermissions: {}betweenon:andjobs:blocks - Low — IR Flash Format domain list truncated:
[Architecture / Data / Security / Code / Product / UX / Strategy / ...]replaced with full 12-domain list
- validate.sh Check 10 extended to cover
checklists/directory in addition toframeworks/(fix was incomplete — correctly applied in 2.7.4) - Check 4 canonical source check: verifies
continuewording inSKILL.mdandoutput-format.md
- High — validate.sh Check 1 gawk-specific: replaced 3-arg
match()(gawk extension) withgrep -m1 '^## \[[0-9]'— matches only versioned headers (digit after bracket), exits cleanly after first match, no SIGPIPE underset -euo pipefail; compatible with macOS default awk and all POSIX environments - High — README.md version badge stale at 2.7.0: updated to
2.7.2; added validate.sh Check 11 to detect badge/version drift going forward - High — Handbrake Output Block missing Performance domain: added
/ Performanceto closed domain list inhandbrake-protocol.mdOutput Block template - High — Check 9 did not cover
checklists/: broadened regex fromframeworks/...to(frameworks|checklists)/...— risk-checklist.md and questioning-checklist.md now covered - Medium — validate.yml missing
permissions: contents: read: added minimal-permission block at job level perversion-control.mdGitHub Actions guidance - Medium — Check 8 silent pass on missing stamp: added
else: fail()branch — examples without aSkill versionline now correctly fail CI
- validate.sh Check 10: iterates
frameworks/*.mdon disk and verifies each file appears in SKILL.md Index — catches unindexed new frameworks - validate.sh Check 11: verifies README.md version badge matches SKILL.md version — catches badge drift on every version bump
- Standard framework headers (
> **Role** / **Load when** / **Always paired with**) added toperformance.mdandsecurity-stride.md
- High — validate.sh Check 1 broken: grep -m1 returned only [Unreleased] before -v filter; fixed to grep | grep -v Unreleased | head -1 so CHANGELOG_VER correctly resolves to latest released version
- High — validate.sh Check 2 FENCE_ISSUES never counted: FENCE_ISSUES was referenced but never initialized or incremented; added FENCE_ISSUES=0 init and ((FENCE_ISSUES++)) increment so fence-balance failures now correctly set non-zero count
- High — CHANGELOG.md had UTF-8 BOM: bytes xEF 0xBB 0xBF present since initial write; stripped to plain UTF-8 without BOM
- High — Performance domain missing from Handbrake escalation map: added Performance bottlenecks, scalability, resource limits, N+1 queries row with Senior Developer / Tech Lead as responsible role
- High — Performance domain missing from IR context templates: added ### ⚡ Performance — Bottlenecks / Scalability / Resource Limits template (6 questions) to immediate-report.md; updated template count from 13 → 14
- Medium — actions/checkout mutable tag in CI: SHA-pinned to
11bd71901bbe5b1630ceea73d27597364c9af683(v4.2.2) perversion-control.mdguidance - Medium — building-protocol.md described as unconditionally free: CONTRIBUTING.md now correctly states it is conditionally free (loaded with code, skipped for pure text/strategy)
- validate.sh check 9 (retroactively documented): verifies all framework files referenced in SKILL.md Index exist on disk
- CONTRIBUTING.md: 8K token budget warning for SKILL.md — contributors must not add content without delegating equivalent content to framework files
frameworks/handbrake-checklist.md— new 8-question rapid-sweep checklist to determine if Handbrake should activate; includes minimum steps and bypass disclosure template.gitattributes— enforces LF line endings onscripts/validate.shand GitHub Actions workflows for cross-platform compatibility.github/workflows/validate.yml— GitHub Actions CI: runsbash scripts/validate.shon every push and PR tomain
- Critical — IR
continuevs Handbrake conflict:continueat the IR stage now explicitly documented to skip IR context collection only, NOT bypass the Handbrake; if finding is 🔴 Critical the Handbrake still activates as the next mandatory step (immediate-report.md,SKILL.md) - High — validate.sh CRLF line endings: re-saved with LF only; Windows contributors can now run
bash scripts/validate.shin Git Bash without$'\r': command not founderrors - High — example version stamps stale: all 12 examples updated from
v2.4.1to currentv2.6.9; new validate.sh check 8 enforces version stamp consistency going forward - High — premortem.md budget conflict: reclassified from Domain Framework (counted against 2-framework budget) to Protocol File (free); Handbrake Step 6 mandates it, so it was self-defeating to count it; domain count updated 13 → 12 in
SKILL.md,CONTRIBUTING.md - High — "bypass is recorded" wording: replaced with "visible in the conversation history" in
SKILL.mdGate Protocol andhandbrake-protocol.md— the previous wording implied non-existent persistence - Medium — duplicate scope guard: removed shorter/incomplete scope guard from
Rule Precedencesection; single authoritative definition remains inAutomatic Trigger Detectionwith full Disambiguation rule - Medium — IR+Handbrake merge cross-reference missing: added merge note to
handbrake-protocol.mdOutput Block section pointing toimmediate-report.mdfor combined format - Medium —
handbrake-checklist.mdreferenced but missing: created the file; added to SKILL.md Index under Protocol Files
- SKILL.md slimmed (~25% size reduction): removed duplicated Handbrake flow diagram, role escalation table, IR flash format template, and Building Protocol tables — these are all defined authoritatively in their dedicated framework files; SKILL.md now contains minimal summaries with explicit load references
premortem.mdmoved from Domain Frameworks section to Protocol Files section in SKILL.md IndexCONTRIBUTING.md: domain count updated to 12;premortem.mdadded to protocol files exclusion list- validate.sh check 7: added
.gitattributesand.github/workflows/validate.ymlto required files list - validate.sh: added check 8 — example version stamps must match
SKILL.mdversion
- 6 new examples covering all remaining major domains: Product/PM, Data Pipeline, CI/CD Pipeline, Vendor/Strategy, UX/Checkout, Performance
README.md— public project documentation for GitHub and skill.shLICENSE— MIT licenseCONTRIBUTING.md— contributor guide with quality standards and PR processCODE_OF_CONDUCT.md— Contributor Covenant v2.1CHANGELOG.md— version history (this file)SECURITY.md— vulnerability reporting policy.gitignore— standard ignores for OS, editor, and Node tooling.github/ISSUE_TEMPLATE/— bug report and feature request YAML templates.github/PULL_REQUEST_TEMPLATE.md— structured PR checklist
frameworks/version-control.md— new domain framework: platform detection (GitHub/GitLab/generic), branching strategy, force push & history rewriting, secrets-in-repo remediation, PR/MR workflow, branch protection rules, GitHub Actions security, GitLab CI/CD variables, access control, tag & release management, monorepo/polyrepo trade-offsexamples/version-control-review.md— full protocol stack: leaked DB credentials + force push to main → ⚡ IR + 🛑 Multi-role Handbrake + git filter-repo remediation plan- Version Control domain added to
handbrake-protocol.md(Role→Escalation Map + Context Question Template) - Version Control Context Request Template added to
immediate-report.md - Version Control added to IR domain list, Handbrake escalation table, trigger table, and "When to Use" in
SKILL.md - Developer/DevOps row added to "When to Use This Skill" table
- Missing
---separator before## Handbrake Bypasssection inhandbrake-protocol.md(accidentally removed during v2.6.6 restructuring)
examples/security-review.md— JWT authentication audit: STRIDE analysis, AppSec Handbrake, Building Protocol Critical violation (hardcoded secret in git)examples/ai-context-review.md— AI Optimization example: AGENTS.md + copilot-instructions.md conflict review, context starvation, hallucination root cause analysis- SKILL.md Index updated with both new examples
- IR flash format domain list updated from 7 → 10 domains (Finance, Legal, AI Optimization added)
handbrake-protocol.md: Legal and AI Optimization templates repositioned into## Context Question Templatessection (were misplaced after## Pre-mortem Integration)continuereply in all 3 original examples:(risks remain active)→(risks remain active and unmitigated)
- Finance/Billing Context Question Template in
handbrake-protocol.mdandimmediate-report.md - Legal/Compliance Context Question Template in
handbrake-protocol.mdandimmediate-report.md - AI Optimization Context Question Template in
handbrake-protocol.mdandimmediate-report.md - Finance, Legal, AI Optimization rows added to Role→Escalation Map in
handbrake-protocol.md frameworks/ai-optimization.md— AI context file analysis: context window budget, cross-reference integrity, feature overlap, context starvation, instruction conflicts, hallucination risk
- Orchestration Priority section restructured: explicit Execution Hierarchy diagram, User Authority Preservation table, per-action-category blocking table
- Rule Precedence section added: this skill's rules override all other tools, skills, agents, and MCPs
- Context Before Calling Resources section added
- Read-only exception documented
Internal iteration — not externally released. Changes incorporated into v2.6.0.
frameworks/building-protocol.md— Three Languages rule, Conventional Commits, SOLID enforcement, Definition of Done checklist, reference implementation, violation severity table- Building Protocol Activation rules documented
- Role Detection prompt standardized across SKILL.md and building-protocol.md
checklists/risk-checklist.md— 8-category structured risk sweep with percentage-based scoringchecklists/questioning-checklist.md— 15-dimension interrogation checklist- AI Optimization category added to both checklists
- Building Protocol category added to both checklists
Internal iteration — not externally released. Changes incorporated into v2.4.0.
Internal iteration — not externally released. Changes incorporated into v2.4.0.
frameworks/immediate-report.md— flash alert protocol for first High/Critical findingframeworks/handbrake-protocol.md— full stop + specialist escalation on Critical findings- Multi-role Handbrake protocol
- Pre-mortem Integration step in Handbrake flow
- Handbrake Bypass behavior documented
frameworks/output-format.md— standard report template with PRECONDITIONS A/B/Cexamples/architecture-critique.md— microservices with distributed transaction gapexamples/plan-critique.md— database migration with zero-downtime riskexamples/handbrake-example.md— data pipeline PII multi-role Handbrake
- Gate Protocol formalized: 4-step INTERCEPT → ANALYSE → REPORT → GATE flow
- Verification Prompt standardized with exact ✅ / 🔁 / ❌ /
continuewording
- Initial release
- Core adversarial analysis framework
frameworks/analysis-framework.md— 5-step analysis: attack surfaces, assumption challenges, pros/cons, FMEA, edge casesframeworks/security-stride.md— STRIDE threat model + extended threatsframeworks/performance.md— bottleneck identification and scalability limitsframeworks/premortem.md— forward-looking failure analysisframeworks/vulnerability-patterns.md— known failure patternsframeworks/product-risks.md— feature assumptions, launch risks, metricsframeworks/design-ux-risks.md— dark patterns, WCAG, cognitive loadframeworks/leadership-strategy-risks.md— build vs buy, vendor risk, Type 1/2 decisionsframeworks/architecture-risks.md— distributed systems, coupling, CAP theoremframeworks/data-analytics-risks.md— pipeline reliability, PII governance, schema driftframeworks/developer-risks.md— testing gaps, CI/CD risks, dependency management- Proactive Prevention Mode and automatic trigger detection