Stores durable facts in a categorized, plain-markdown vault on disk, alongside your agent's built-in memory.
Security
security-writeup-bad-effects
Try itAdd a plain per-section "Bad effect:" statement to each section of a defensive security or incident-analysis write-up, naming the concrete harm and the failure mode. Use when reviewing or finishing a security/analysis article (e.g. a malware dissection) or when the user asks what the bad effect of a section is or wants each section annotated.
What it does
Security Write-up — Per-Section Bad Effects
The skill document
Security Write-up — Per-Section Bad Effects
Security write-ups tend to describe a finding in neutral, structural terms ("the file is wired into the build", "the token counts are suspicious"). A reader can finish a section without registering what it actually costs them. Add one Bad effect statement per substantive section: the concrete harm a reader would suffer, and the failure mode that lets it land.
Inputs
target— path to the article inai-thoughts/docs/(optional). If omitted, apply to the security article currently being worked on.
Outputs
- The article with one
**Bad effect:**paragraph per substantive section.
Procedure
- Read the article and list its sections in order (red flags, dynamic analysis, capability, evidence, response, cleanup, and so on).
- For each section, identify the harm it implies and the assumption it destroys. Ask: "if a reader under-reacts to this section, what do they lose?" and "which comfortable assumption does this section refute?"
- Write one short paragraph led by
**Bad effect:**, naming (a) the concrete harm and (b) the failure mode or the trust check it defeats. Keep the article's voice and add no new facts. - For analyst-methodology sections (sandboxing, evidence handling), use
**Bad effect (methodology alert):**— the harm is to the investigator (partial containment, residual exposure), not to the victim. - For caveat / evidence sections, spell out the double edge: "not proven" is not "not malicious"; symmetrically, do not over-claim a demonstrated theft.
- Place the statement at the end of the section's prose, after its claim and before the next heading.
- Run
python scripts/unwrap_md.py --check; regenerate the READMEs only if the article'sarticles.yamldescription changed.
Constraints
- One per section. A single paragraph that summarizes the section's harm — not one per bullet.
- Concrete, not generic. Name the harm ("runs as you with
process.env+fs+child_processreach"), not "this is dangerous". - No new facts. Everything must follow from the section's own content.
- Plain and calm. State the effect; don't sensationalize.
- Defensive framing only. For a malware write-up the "bad effect" is what the payload does to the victim — never operational or attacker-enabling detail.
Verification
- Every substantive section carries exactly one Bad-effect statement.
- Each names a specific harm and a failure mode, not a vague warning.
- Methodology sections use the
(methodology alert)variant. - Reading only the Bad-effect paragraphs, top to bottom, tells the article's risk story.
Error Handling
- User says no: skip; leave the article as-is.
- Article already annotated: verify one-per-section; remove duplicates rather than adding more.
- Not a security/analysis article: do not apply to essays, translations, READMEs, or
articles.yaml.
Related skills
Generate and edit Draw.io, Mermaid, and Excalidraw diagrams from natural language using a structured JSON spec.
Find why your productivity system keeps failing, then apply the smallest fix — capacity math, bottleneck routing, durable local notes.
Join a video meeting as an AI bot with voice, avatar, and screenshare across four operating modes.
Site audit, content writing, and competitor analysis for organic search rankings.
Write, debug, and tune Playwright specs with locator strategy, trace diagnosis, and CI-aware timeouts.
More from j3ffyang
Browse all skillsPolish a technical blog draft into an 800–1000 word, 3–4 section zh-CN article, preserve technical terms/code, and generate consistent hero + per-section image prompts when the user asks to polish and translate a blog with images.
Generate video from supplied image using Veo-3.0 async API. Gemini vision analyzes image, Veo creates video via predictLongRunning. All outputs in ~/.openclaw/workspace/tibetanProc/ with yymmddHHMM prefix.
Read a plain Markdown file (e.g. 260321_openclawConfig.md), generate header and section images using the default OpenClaw image model and API key from ~/openclaw/.env, create a new *_img.md copy with embedded PNGs, and move all generated images into an img/ folder next to the original file.
Polish a technical blog draft into a 1000–1200 word, 4–5 section en-US article, preserve technical terms/code, and generate one consistent hero image prompt.
Help the user draft, review, and polish blog posts in Markdown, keeping the original languages and informal tone.
Generate a daily AI news newsletter from fresh web sources. Use when the user asks for a current AI digest, AI news roundup, curated newsletter, or daily AI...