惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Blog — PlanetScale
Blog — PlanetScale
Webroot Blog
Webroot Blog
T
Troy Hunt's Blog
S
Secure Thoughts
S
Security @ Cisco Blogs
S
Security Affairs
Forbes - Security
Forbes - Security
W
WeLiveSecurity
H
Hacker News: Front Page
T
Threatpost
Google Online Security Blog
Google Online Security Blog
S
Schneier on Security
有赞技术团队
有赞技术团队
WordPress大学
WordPress大学
www.infosecurity-magazine.com
www.infosecurity-magazine.com
博客园 - Franky
腾讯CDC
IT之家
IT之家
博客园 - 聂微东
L
LINUX DO - 最新话题
罗磊的独立博客
Hacker News - Newest:
Hacker News - Newest: "LLM"
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 三生石上(FineUI控件)
Hacker News: Ask HN
Hacker News: Ask HN
C
CXSECURITY Database RSS Feed - CXSecurity.com
C
Cybersecurity and Infrastructure Security Agency CISA
C
CERT Recently Published Vulnerability Notes
Know Your Adversary
Know Your Adversary
V
Vulnerabilities – Threatpost
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
博客园_首页
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Cisco Talos Blog
Cisco Talos Blog
S
SegmentFault 最新的问题
酷 壳 – CoolShell
酷 壳 – CoolShell
Hugging Face - Blog
Hugging Face - Blog
L
LINUX DO - 热门话题
美团技术团队
G
GRAHAM CLULEY
T
The Exploit Database - CXSecurity.com
AI
AI
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Jina AI
Jina AI
Help Net Security
Help Net Security
N
News | PayPal Newsroom
月光博客
月光博客
Spread Privacy
Spread Privacy
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
N
News and Events Feed by Topic

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant Common SOC 2 Failures (Real World) Stop Vibe-Checking Your AI App: A Practical Guide to Evals How to Use SonarQube and SonarScanner Locally to Level Up Your Code Quality Your Next To-Do App Is Dead — I Replaced Mine with an OpenClaw AI Sign a Nostr event in 60 lines of Python using coincurve — no nostr-sdk, no nbxplorer, no rust toolchain ITGC Audit Explained Like You’re in Big 4 Patch Tuesday abril 2026: Microsoft parcha 163 vulnerabilidades y un zero-day en SharePoint Stop scraping everything: a better way to track competitor price changes Listing on MCPize + the Official MCP Registry while routing payments OUTSIDE the marketplace — how I kept 100% of my x402 revenue Building an AI-Powered Risk Intelligence System Using Serverless Architecture Why We Ripped Function Overloading Out of Our AI Toolchain Testing AI-Generated Code: How to Actually Know If It Works SaaS Churn Is Killing Your Business. Here Is What to Do About It (Without a Support Team) The Speed of AI Is No Longer Linear - And Self-Improving Models Are Why How to Implement RBAC for MCP Tools: A Practical Guide for Engineering Teams From Standard Quote to Persuasive Proposal: AI Automation for Arborists I built a CLI that scaffolds complete multi-tenant SaaS apps Axios CVE-2025–62718: The Silent SSRF Bug That Could Be Hiding in Your Node.js App Right Now The dashboard that ended our friendship Data Pipelines Explained Simply (and How to Build Them with Python) The Hidden Cost of AI Systems Nobody Talks About. undefined vs undeclared, and how typeof behaves Switching from file-based jobs to NATS/Kafka in Rust without changing code io_uring Adventures: Rust Servers That Love Syscalls Why Agentic AI is Killing the Traditional Database The POUR principles of web accessibility for developers and designers Quantum Neural Network 3D — A Deep Dive into Interactive WebGL Visualization How To Install Caveman In Codex On macOS And Windows Automation Pipeline Reliability: Why Your Workflow Breaks When Nobody Is Watching I Built an 'Open World' AI Coding Agent — It Works From ANY Folder From Freelancing to Product: A Tech Service Company's SaaS Transformation China's AI Giants: Adding Tencent Hunyuan & ByteDance Doubao to AI University (74 Providers) On the Vibe Coders and Their Lies clerk: Auto-Summarize Your Claude Code Sessions AI Weekly — 2026/04/10–04/17 | The Model Lockdown Is Here, but the Toolchain Is the Real Battleground AI 週報 — 2026/04/10–2026/04/17 模型封鎖潮來了,但工具鏈才是真戰場 Maybe this is how Open-Source apps are born... 🚀 Fine-Tune LLMs with LoRA and QLoRA: 2026 Guide tRPC v11 + Next.js App Router: End-to-End Type Safety Without the Boilerplate ShadCN UI in 2026: Why I Stopped Installing Component Libraries and Started Owning My Components SaaS Billing in React Server Components: Stripe + Supabase Without a Single `useEffect` Join our DEV Weekend Challenge — $1,000 in Prizes Across TEN winners! Submissions Due April 20 at 6:59 AM UTC. Implementing FSRS Spaced Repetition in Flutter + Supabase — Adding Memory Science to an AI Learning App "I Texted My Localhost From the Train — Claude Code Fixed the Bug Before I Got Home" I Built a Sales Prep AI and It Went Deeper Than Expected Design to Code #2: One JSON, Eleven Outputs Solving the 100M-Row Problem: A Summary Table Pattern for High-Volume Push Notification Logs Flutter Web With Wasm: What Actually Changes For Developers I Built 50 Royalty-Free Soundtracks for My Side Project in a Weekend Using AI Music Generation The Vibe Coding Security Checklist: 7 Things to Check Before You Ship Stop Letting Googlebot Guess Fix Your React App's SEO Right Desconstruindo o Streaming do LinkedIn: Como Criar um Engine de Extração de Vídeo de Alta Performance com HLS e FFmpeg (EDA Part-1) EDA (Exploratory Data Analysis) Explained With Real Life — Why Looking at Your Data Is the Most Important Step in Machine Learning Brand Relationship Management at Scale: Our 4-Touch Outreach System for 200+ Brands Why String.fromEnvironment() Might Return an Empty String in Dart JGuardrails 1.0.0 — Hardening Java LLM Apps Against Jailbreaks, Toxicity, and Prompt Injection Plan and Schedule a Full Week of Threads Content From One Claude Conversation Coding Cat Oran Ep3, Five Tables Changed Everything Updated: BFF Pattern I'm done watching freelancers get buried by 200 proposals. So I'm building the alternative. This is my first post BFS Algorithm in Java Step by Step Tutorial with Examples Tracking LLM Pricing Monthly: An Open Dataset for 22 AI Models How We Measure Content ROI on a Comparison Site: Revenue Attribution Without Perfect Data Introducing Nova AI Ops: The AI-Native Operating System for SRE Teams I built a free desktop video downloader for Windows — Grabbit How Talkie OCR Helps Vision-Impaired & Dyslexic Users Read the World Around Them VRCFaceTracking安装和iPhone面捕配置教程,有bug Even CrowdStrike Can't See Your Agents The Automation Gold Rush: What n8n Workflows and Claude Are Opening Up for Developers Right Now
Your AI Just Said “I Can’t do that Dave.”
Vektor Memor · 2026-05-12 · via DEV Community

How skill files turn a wall-hitting assistant into a lateral thinker, and why most setups are wiring the wrong thing.
15 min read · 4 parts · Published by Vektor Memory

Part 1: The Wall
It started with an email in the morning before my chai tea kicked in…

Not the fun kind. A Google Search Console notification, the kind that lands in your inbox with the quiet menace of a parking ticket you didn’t know you’d earned. Subject line: “New Coverage issue detected.” Six pages. Blocked. 403 errors. Googlebot — the one crawler you actually want on your site — had been turned away at the door. Three times.

You’ve submitted the validation request twice already, so annoying. Both times Google came back, tried to crawl, got a 403, and left. The third submission is sitting there, waiting. Your patience is doing the same.

So you do what any reasonable person does at this point: you open your AI assistant and ask it to diagnose the problem, with a hasty copy paste snippet of the issue, that should fix it.

The assistant looks at the Search Console screenshot. It reasons through the possibilities. It considers nginx configs, server blocks, robots.txt entries, HTTP response codes. It is, by any measure, thinking hard.

Then it says:

“I’m unable to directly access your Cloudflare dashboard to inspect the firewall rules. You may want to check the Security settings manually.”

You stare at that sentence for a moment. You read it again. You feel something between frustration and genuine bewilderment, because you know — you know — that the answer is in Cloudflare. The VPS logs are clean. Nginx is serving 200s to everything that reaches it. The block is happening upstream, at the Cloudflare layer, before requests even touch the server.

And you also know, somewhere in the back of your mind, that there is a Cloudflare API token sitting in your Aes-256 credential vault. You stored it there yourself, months ago. The assistant has access to that vault. It has tools to run curl requests from the VPS. It has a Tailscale connection to your dev machine. It has, in short, at least three completely viable paths to the answer.

It found zero of them. It hit a wall and reported the wall.

What it should have said:

“I’ll check this via the Cloudflare API — I have a token in the vault. Going now.”

Four minutes later, it would have found it: security level set to high, browser integrity check switched on. That last one is the culprit — it serves a JavaScript challenge to unrecognised visitors, and Googlebot cannot solve a JavaScript challenge. Every crawl attempt: 403. Three submissions to Search Console. Weeks of indexing delay.

Two API calls to fix. One to set security level to medium. One to turn off the browser integrity check. Done.

The fix was trivial. The path to the fix was invisible — not because the tools weren’t there, but because nobody had told the assistant to look for them.

This is not a story about a bad AI, AI is great when it works as expected.

This is a story about an unconfigured one. And the difference matters enormously, because the tools were there the whole time. The credential was in the vault. The API was documented. The VPS was one SSH call away. The assistant knew all of this, in the same way you know where your keys are even when you’re looking for them in the wrong pocket.

It just needed to be told to check the other pockets.

That’s what a skill file does. And most of them aren’t doing it.

Part 2: Why AI and Humans Hit Different Walls
To understand why this happens — and why skill files fix it — you need to understand a fundamental mismatch between how humans and AI systems process problems.

Edward de Bono, the psychologist who coined the term lateral thinking in his 1970 book Lateral Thinking: Creativity Step by Step, identified the core issue decades before large language models existed. His observation was this:

“The difficulty of thinking in alternatives is not a lack of intelligence — it is a conditioned habit of following the most obvious path.”

He was talking about humans. But it describes AI default behaviour almost perfectly.

How humans actually solve problems

When a human engineer hits a wall — say, no direct access to a service — they don’t stop. They activate what cognitive psychologists call associative reasoning: a non-linear web of memory, analogy, intuition, and past experience that fires simultaneously, not sequentially.

Daniel Kahneman, in Thinking, Fast and Slow, describes two parallel systems at work: System 1 (fast, instinctive, associative) and System 2 (slow, deliberate, logical). When a human faces a blocked path, System 1 immediately pattern-matches against thousands of similar situations — “this is like the time we couldn’t access the AWS console and used the CLI instead” — while System 2 reasons through the alternatives System 1 surfaces.

The result is what we’d call lateral thinking: the engineer doesn’t just try the next step in the sequence. They jump domains. They reframe. They ask “what if I approached this from the other side?”

How AI systems actually process problems

AI language models — regardless of how sophisticated they are — are fundamentally sequential processors. Each token is generated by attending to what came before and predicting what comes next. This makes them extraordinarily good at completing patterns, following chains of reasoning, and executing known procedures.

It makes them structurally weak at one specific thing: generating alternatives when the primary path fails.

When an LLM hits a wall — no direct tool match, no obvious next step — it doesn’t activate a web of analogies and past experience. It completes the pattern in front of it. And the pattern in front of it, when no tool matches a task, is: report that you can’t do the task.

The diagram below shows this divergence visually. Human problem-solving radiates outward from the problem in all directions simultaneously — memory, intuition, analogy, emotional resonance, reframing — with cross-links between nodes that generate unexpected solutions. AI default reasoning moves linearly: read prompt → check tools → no match → report failure.

Press enter or click to view image in full size

The AI isn’t less intelligent. It’s differently structured. And that structure has a specific failure mode: it will execute any explicit procedure brilliantly, and stall at any gap in the procedure.

This is precisely why Gary Klein, in Sources of Power: How People Make Decisions, found that expert humans rarely follow decision trees when working under pressure. Instead they use recognition-primed decision making — pattern recognition that triggers the first workable option, then mental simulation to check it, then adaptation. It’s messy, non-linear, and extraordinarily effective.

The skill file is how you give an AI the scaffolding for that same behaviour. You can’t give it System 1 instincts. But you can give it an explicit checklist that mimics the outputs of lateral thinking — try the vault, try the VPS, try the hop, try the reframe — and that checklist fires where the instincts would have.

It’s not the same as human reasoning. But at 4:49 PM on a Tuesday when your homepage has a giant icon svg logo css config issue on it, it’s close enough.

Part 2b: What a Skill File Actually Is
Most developers treat skill files like a README. Drop in some project context, list your tech stack, maybe add a note about preferred formatting.

Done. Ship it.

This is approximately as useful as handing a surgeon a Post-it note that says “patient has two arms.”

A skill file isn’t documentation. It’s a cognitive protocol. It’s the difference between an assistant that hits a wall and one that walks around it.

Here’s what a minimal skill file looks like in the wild:

Project Context

  • Stack: Node.js, SQLite, nginx
  • VPS: [host stored in vault]
  • SSH key: stored in credential vault Useful. Fine. But watch what happens when things go wrong. The assistant needs to check a Cloudflare firewall rule. It doesn’t see a Cloudflare tool in its toolkit. It reports back: “I can’t access Cloudflare directly.”

And technically, it’s right. There’s no Cloudflare MCP server connected. No dashboard access. No magic portal.

But there is a credential vault with a Cloudflare API token. There is a VPS that can make curl requests to the Cloudflare API. There is a Tailscale connection to the dev machine where the CF CLI lives. There are three paths to the destination — and the assistant found zero of them, because nobody told it to look.

This is the core failure mode of AI assistant configuration. We tell the assistant what the project is. We never tell it how to think when things go wrong.

Lateral thinking — in the de Bono sense, the deliberate departure from the obvious path — doesn’t emerge naturally from language models. It has to be instructed. Explicitly. In the skill file.

Download the Medium app
And the good news is: it’s not complicated.

Part 3: The Configuration That Changes Everything
Here’s what we added to the skill file after the incident. Read it like a protocol, not a prompt:

Lateral Thinking — NEVER SAY "I CAN'T"

When hitting a wall, run this chain SILENTLY before responding.
Never announce it — just execute and present options or start
the best path immediately.
Auto-resolution chain (run in order, stop at first hit):

  1. Skill file — is the answer already documented here?
  2. cloak_passport — try likely key names: exact service name, service-key, service-api, service-token, SERVICE_API_TOKEN
  3. VPS curl — run the API call from the server itself
  4. Tailscale hop → dev machine — reach local tools not on VPS
  5. vektor_recall — search memory for prior solutions
  6. web_fetch / web_search — find API docs, workarounds
  7. Reframe — can we replace X? redirect X? override X upstream? Response format — paths not walls: ❌ "I can't access Cloudflare directly" ✅ "Reaching this via CF API token from vault — going now." Default: pick the most likely path and START. Don't ask permission unless genuinely ambiguous. Four things make this work. Not three. Not five. Four.

The chain is ordered. The assistant doesn’t randomly try things. It walks a priority queue: local knowledge first, credentials second, infrastructure third, external search fourth, creative reframe last. This matters because it mirrors how a competent engineer actually debugs. You check what you know before you reach for a browser.

It runs silently. The instruction says silently. This is not an accident. An assistant that narrates its own diagnostic process is an assistant burning your attention on process instead of outcome. The chain is invisible machinery. The output is a solution.

It ends with reframe. This is the step most configurations miss entirely. If every tool in the toolkit fails — if the API is down, the credentials are wrong, the VPS is unreachable — the protocol doesn’t report failure. It asks a different question: what’s the non-obvious path? Can we achieve the same outcome by approaching the problem from the other side?

In the Cloudflare case: if the API token had been wrong, the reframe might have been “can we modify the nginx config to bypass the block at the server level?” Different path. Same destination.

The credential map is in the file. Not in your head. In the file.

Known Credential Map

Service Passport Key Notes
Cloudflare API CF_API_TOKEN stored in credential vault
VPS SSH vps-vektor stored in credential vault
Dev machine minimaxa-key stored in credential vault
Twitter/X post x-consumer-key OAuth 1.0a — stored in credential vault

This table is worth more than any amount of system prompt engineering. It converts “I can’t find the credentials” into “I found CF_API_TOKEN, calling the API now.” The assistant doesn’t need to guess. It has a map.

The result of adding these four things to our skill file was immediate and measurable. The next time we hit a blocked page — Google Search Console reporting 403 errors across six core pages, Googlebot blocked for the third time — the diagnostic went like this:

Check VPS nginx logs → Googlebot getting 200s, not 403s
Therefore the block is happening at Cloudflare level
Retrieve CF_API_TOKEN from credential vault
Query Cloudflare API from VPS via curl
Find: security level set to high, browser integrity check on
Patch both settings via API
Verify with live curl tests
No walls. No “I can’t access Cloudflare.” Just a chain of steps that ended with the problem solved.

The browser integrity check, for the record, is a JavaScript challenge that Cloudflare serves to unrecognised visitors. Googlebot — and every other legitimate crawler — cannot execute JavaScript challenges. With it turned on, every Googlebot visit returned a 403. With it off and security level at medium, crawlers pass through and the bad actors still hit your explicit firewall rules.

A two-line API fix. Found in under four minutes. Because the skill file told the assistant to look.

Part 4: Twenty Things Your Skill File Should Know
The Cloudflare example is about tool access. But lateral thinking in a skill file goes deeper than credentials and API chains.

Here’s the broader list of what belongs in a properly configured skill file — not just for debugging, but for the full surface area of how an AI assistant fails to think.

On access and tools:

Your assistant needs to know every path into your infrastructure. Not just the obvious one. VPS SSH, yes. But also: API tokens for every service you use, Tailscale IPs for every machine in your network, alternative endpoints when primary ones fail. The credential map isn’t optional — it’s the difference between a dead end and a detour.

On decisions already made:

Half the time an AI assistant suggests the wrong solution, it’s because it doesn’t know the right one was already tried and rejected. Put your settled decisions in the skill file. “We chose Postgres over MongoDB — final.” “REST, not GraphQL — not up for debate.” This isn’t rigidity. It’s preventing the assistant from walking you backward through arguments you already won.

On how you want to be interrupted:

The default behaviour of most AI assistants is to ask before acting. This is safe. It’s also slow. Your skill file should specify when the assistant should just go: “Pick the most likely path and start. Don’t ask permission unless genuinely ambiguous.” And equally, when it should stop and check: “If the fix creates technical debt, flag it before executing.”

On your stack, your conventions, your vocabulary:

Industry terminology, internal project codenames, file naming conventions, branch strategy, error handling patterns. An assistant that doesn’t know your project calls things by the wrong names, proposes solutions for a stack you don’t use, and asks questions you shouldn’t have to answer.

On the session lifecycle:

A skill file should include session open and session close protocols. On open: recall the last session’s handover note, check system health, surface any pending items. On close: write a consolidated memory note covering what changed, what’s pending, and any config modifications. Without this, every session starts blind. With it, every session starts with context.

On what the assistant should never say:

“I can’t.” “I’m unable to.” “I don’t have access to.”

These phrases should be absent from a properly configured assistant. Not because the limitations don’t exist — they do — but because the response to a limitation is always a path, never a wall.

The Skill File Is the Product
Here’s the thing nobody tells you about AI-assisted development.

The model is a commodity. GPT-4o, Claude Sonnet, Gemini — at the level of general capability, they’re roughly interchangeable for most tasks. What’s not interchangeable is the configuration layer wrapped around them.

The skill file is that configuration layer. And most people treat it like an afterthought.

The developers getting the most out of AI assistants right now aren’t the ones with the best prompts. They’re the ones who have invested in the infrastructure around the model: credential vaults, session memory, lateral thinking protocols, credential maps, decision logs. The cognitive scaffolding that turns a capable model into a reliable teammate.

The Googlebot 403s got resolved. Not because the model got smarter — because the skill file got better.

If your AI assistant says “I can’t” more than once a week, that’s not a model problem. That’s a configuration problem. And configuration problems have solutions.

Tools That Help
The VEKTOR downloads page has two free resources worth grabbing regardless of whether you use VEKTOR’s memory system:

VEKTOR Memory Skill — (scroll down page) a drop-in SKILL.md for Claude Code, Cowork, Cursor, Cline, and Roo. Includes auto-briefing on session start, smart recall routing, and memory checkpointing. Free, no licence required, drop it in .claude/skills/ and it auto-loads.

Personal Harness Template — (scroll down page) a pre-wired skill template with session rules, memory namespaces, approval gates, and 20 fill-in slots for your own context.

Both files are designed around the same principle this article is: your assistant should never hit a wall it can’t route around. The templates give you the scaffolding. The credential map, the decision log, the lateral thinking chain — you add those once, and they compound across every session you run.

Start personalising to your configuration by copying the ideas above back into your llm with 2 files given.

And start living in the future.

VEKTOR Memory is a local-first AI agent memory system. Persistent, sovereign, sub-1ms recall. vektormemory.com

Follow @vektormemory on Medium for more on agent architecture, memory systems, and the infrastructure layer nobody talks about.

Developer Tools · LLM · Claude · Cursor · Agentic AI · MCP · Context Management · Node.js Generative Ai Tools Ai Infrastructure Agentic Ai Open Source

AI
Agentic Workflow
Claude Code
Skills Development