src/autoskillit/skills_extended/arch-lens-security/SKILL.md
Create Security architecture diagram showing trust boundaries, validation layers, and process isolation. Security lens answering "Where are the trust boundaries?"
npx skillsauth add talont-org/autoskillit arch-lens-securityInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Cognitive Mode: Security Primary Question: "Where are the trust boundaries?" Focus: Trust Boundaries, Validation Layers, Path Contracts, Process Isolation
/autoskillit:arch-lens-security or /autoskillit:make-arch-diag securityNEVER:
run_in_background: true is prohibited)ALWAYS:
/autoskillit:mermaid skill using the Skill tool - this is MANDATORYtemp/arch-lens-security/...
save path to absolute by prepending the full CWD:
diagram_path = /absolute/cwd/temp/arch-lens-security/{filename}.md
This token is MANDATORY — the pipeline cannot proceed without it./autoskillit:arch-lens-security [context_path]
If a context_path positional argument is present:
context_pathIf no context_path is provided, skip this step and explore the full CWD in Step 1.
Spawn Explore subagents to investigate:
Input Validation
Path Security
Process Boundaries
Authentication/Authorization
Secret Management
File System Security
Database Isolation
Identify boundaries where trust changes:
CRITICAL - Analyze Read/Write Direction: For EVERY trust boundary crossing:
Security implications by direction:
For each trust boundary:
Use flowchart with:
Direction: TB for layered security view
Subgraphs per Trust Boundary:
Node Styling:
cli class: Entry points, user inputdetector class: Validation gates, guardsphase class: Processing after validationgap class: Forbidden/restricted (yellow warning)stateNode class: Enforcement pointsoutput class: Isolated resourcesShow Flow Through Boundaries:
Write the diagram to: {{AUTOSKILLIT_TEMP}}/arch-lens-security/arch_diag_security_{YYYY-MM-DD_HHMMSS}.md (relative to the current working directory)
After writing the diagram file, emit a structured output line:
IMPORTANT: Emit the structured output tokens as literal plain text with no markdown formatting on the token names. Do not wrap token names in
**bold**,*italic*, or any other markdown. The adjudicator performs a regex match on the exact token name — decorators cause match failure.
diagram_path = {absolute_path_to_diagram_file}
# Security Diagram: {System Name}
**Lens:** Security (Trust Boundaries)
**Question:** Where are the trust boundaries?
**Date:** {YYYY-MM-DD}
**Scope:** {What was analyzed}
## Trust Boundaries Overview
| Boundary | Validation | Threat Mitigated |
|----------|------------|------------------|
| {boundary} | {validation} | {threat} |
## Security Diagram
```mermaid
%%{init: {'flowchart': {'nodeSpacing': 40, 'rankSpacing': 50, 'curve': 'basis'}}}%%
flowchart TB
%% CLASS DEFINITIONS %%
classDef cli fill:#1a237e,stroke:#7986cb,stroke-width:2px,color:#fff;
classDef stateNode fill:#004d40,stroke:#4db6ac,stroke-width:2px,color:#fff;
classDef handler fill:#e65100,stroke:#ffb74d,stroke-width:2px,color:#fff;
classDef phase fill:#6a1b9a,stroke:#ba68c8,stroke-width:2px,color:#fff;
classDef detector fill:#b71c1c,stroke:#ef5350,stroke-width:2px,color:#fff;
classDef output fill:#00695c,stroke:#4db6ac,stroke-width:2px,color:#fff;
classDef gap fill:#ff6f00,stroke:#ffa726,stroke-width:2px,color:#000;
subgraph Boundary1 ["TRUST BOUNDARY 1: Entry"]
INPUT["User Input<br/>━━━━━━━━━━<br/>Untrusted"]
VALIDATE["Validation<br/>━━━━━━━━━━<br/>Check input"]
end
subgraph Boundary2 ["TRUST BOUNDARY 2: Subprocess"]
PRECHECK["Pre-flight Check<br/>━━━━━━━━━━<br/>Limits check"]
SUBPROCESS["Subprocess<br/>━━━━━━━━━━<br/>Isolated execution"]
GUARD["Process Guard<br/>━━━━━━━━━━<br/>Timeout, cleanup"]
end
subgraph PathContract ["PATH CONTRACT"]
FORBIDDEN["Forbidden Patterns<br/>━━━━━━━━━━<br/>credentials, .pem"]
TRAVERSAL["Traversal Check<br/>━━━━━━━━━━<br/>No '..' allowed"]
WHITELIST["Directory Whitelist<br/>━━━━━━━━━━<br/>Allowed paths"]
end
subgraph WriteZone ["WRITE ZONE ENFORCEMENT"]
ZONE["Write Zone<br/>━━━━━━━━━━<br/>Restricted area"]
end
%% FLOW %%
INPUT --> VALIDATE
VALIDATE --> PRECHECK
PRECHECK --> SUBPROCESS
SUBPROCESS --> GUARD
GUARD --> FORBIDDEN
FORBIDDEN --> TRAVERSAL
TRAVERSAL --> WHITELIST
WHITELIST --> ZONE
%% CLASS ASSIGNMENTS %%
class INPUT cli;
class VALIDATE,PRECHECK,GUARD detector;
class SUBPROCESS phase;
class FORBIDDEN,TRAVERSAL gap;
class WHITELIST stateNode;
class ZONE output;
Color Legend: | Color | Category | Description | |-------|----------|-------------| | Dark Blue | Entry | Untrusted input | | Red | Validation | Validation gates and guards | | Purple | Process | Isolated execution | | Yellow | Restricted | Forbidden patterns | | Teal | Enforcement | Whitelist, allowed | | Dark Teal | Zone | Protected resources |
| Layer | Component | Threat Mitigated | |-------|-----------|------------------| | 1 | {component} | {threat} | | 2 | {component} | {threat} |
| Rule | Description | |------|-------------| | Forbidden Patterns | {patterns} | | Traversal Prevention | {how} | | Whitelist | {allowed dirs} |
---
## Pre-Diagram Checklist
Before creating the diagram, verify:
- [ ] LOADED `/autoskillit:mermaid` skill using the Skill tool
- [ ] Using ONLY classDef styles from the mermaid skill (no invented colors)
- [ ] Diagram will include a color legend table
---
## Related Skills
- `/autoskillit:make-arch-diag` - Parent skill for lens selection
- `/autoskillit:mermaid` - MUST BE LOADED before creating diagram
- `/autoskillit:arch-lens-error-resilience` - For error handling view
- `/autoskillit:audit-arch` - For security violation detection
development
Generate YAML recipes for .autoskillit/recipes/. Use when user says "make script skill", "generate script", "script a workflow", "write a script", "create a script", "new recipe", "write a pipeline", or when loaded by other skills for script formatting.
data-ai
Create Uncertainty Representation visualization planning spec showing error bar definitions, distribution-aware alternatives, and multi-seed variance protocols. Statistical lens answering "How is uncertainty honestly represented?"
data-ai
Create Temporal Dynamics visualization planning spec showing axis scaling (linear vs log), smoothing disclosure, epoch/step alignment, run aggregation (mean + variance bands), early-stopping markers, and wall-clock vs step-count x-axis. Temporal lens answering "Are training dynamics shown clearly and honestly?"
data-ai
Create Narrative Story Arc visualization planning spec showing visual consistency across the report (same color = same model everywhere), logical figure progression, redundant figure detection, and narrative dependency between figures. Narrative lens answering "Do the figures tell a coherent story across the report?"