external/trailofbits-skills-curated/plugins/planning-with-files/skills/planning-with-files/SKILL.md
Implements file-based planning for complex multi-step tasks. Creates task_plan.md, findings.md, and progress.md as persistent working memory. Use when starting tasks requiring >5 tool calls, multi-phase projects, research, or any work where losing track of goals and progress would be costly.
npx skillsauth add seikaikyo/dash-skills planning-with-filesInstall 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.
Use persistent markdown files as working memory on disk.
/plan or create manually from
templatestask_plan.md with goal, phases, and key questionsfindings.md for research and decisionsprogress.md for session loggingContext Window = RAM (volatile, limited)
Filesystem = Disk (persistent, unlimited)
Anything important gets written to disk.
After many tool calls, the original goal drifts out of the attention
window. Reading task_plan.md brings it back. This is the single
most important pattern in file-based planning.
| File | Purpose | When to Update |
|------|---------|----------------|
| task_plan.md | Phases, progress, decisions | After each phase completes |
| findings.md | Research, discoveries, decisions | After ANY discovery |
| progress.md | Session log, test results | Throughout the session |
All three files go in the project root, not the plugin directory.
Never start a complex task without task_plan.md. This is
non-negotiable. The plan is your persistent memory.
After every 2 search, browse, or read operations, immediately save
key findings to findings.md. Multimodal content (images, browser
results, PDF contents) does not persist in context -- capture it as
text before it is lost.
Before any major decision, re-read task_plan.md. This pushes
goals and context back into the recent attention window, counteracting
the "lost in the middle" effect that occurs after ~50 tool calls.
[Original goal -- far away in context, forgotten]
...many tool calls...
[Recently read task_plan.md -- gets ATTENTION]
→ Now make the decision with goals fresh in context
After completing any phase:
in_progress -> completeprogress.mdEvery error goes in task_plan.md. Include the attempt number and
resolution. This builds knowledge and prevents repeating failures.
## Errors Encountered
| Error | Attempt | Resolution |
|-------|---------|------------|
| FileNotFoundError | 1 | Created default config |
| API timeout | 2 | Added retry logic |
If an action failed, the next action must be different. Track what you tried and mutate the approach.
if action_failed:
next_action != same_action
ATTEMPT 1: Diagnose & Fix
-> Read error carefully
-> Identify root cause
-> Apply targeted fix
ATTEMPT 2: Alternative Approach
-> Same error? Try a different method
-> Different tool? Different library?
-> NEVER repeat the exact same failing action
ATTEMPT 3: Broader Rethink
-> Question assumptions
-> Search for solutions
-> Consider updating the plan
AFTER 3 FAILURES: Escalate to User
-> Explain what you tried (with attempt log)
-> Share the specific error
-> Ask for guidance
| Situation | Action | Reason | |-----------|--------|--------| | Just wrote a file | Don't read it | Content still in context | | Viewed image/PDF | Write findings NOW | Multimodal content doesn't persist | | Browser returned data | Write to file | Screenshots don't persist | | Starting new phase | Read plan/findings | Re-orient if context is stale | | Error occurred | Read relevant file | Need current state to fix | | Resuming after gap | Read all planning files | Recover full state |
If you can answer these from your planning files, context is solid:
| Question | Answer Source |
|----------|--------------|
| Where am I? | Current phase in task_plan.md |
| Where am I going? | Remaining phases |
| What's the goal? | Goal statement in plan |
| What have I learned? | findings.md |
| What have I done? | progress.md |
| Don't | Do Instead | |-------|------------| | State goals once and forget | Re-read plan before decisions | | Hide errors and retry silently | Log every error to plan file | | Stuff everything in context | Store large content in files | | Start executing immediately | Create plan file FIRST | | Repeat failed actions | Track attempts, mutate approach | | Create files in plugin directory | Create files in project root |
development
拋棄式 HTML mockup 比稿:產出 2 到 3 個設計立場不同的變體(密度 / 版式 / 強調軸,不是換色),各附取捨說明,最後給有立場的對比結論。適用:「畫個草圖」「比較 A 版 B 版」「先看方向再做」「給我看幾種做法」。要 production 元件或設計已定案時不適用。
tools
需求不明時的意圖萃取訪談:一次一題、每題附上自己的猜測、聽出「真正想要 vs 覺得應該要」,直到能預測使用者反應(約 95% 信心)才動工。適用:需求缺少對象 / 動機 / 成功標準 / 約束,或使用者點名「訪談我」「先確認一下」「我們確定嗎」。明確自足的指示、純資訊查詢、機械性操作不適用。
development
對非平凡決策啟動新鮮 context 對抗審查(找碴不背書),在修正還便宜的時候抓出錯誤方向。適用:高風險改動(production、資安敏感邏輯、不可逆操作)、不熟的程式碼、要宣稱「這樣是安全的 / 可行的」之前。機械性操作與一行修改不適用。
testing
Reference for writing and editing agent skills well — the vocabulary and principles that make a skill predictable. Consult when authoring, reviewing, or pruning a SKILL.md.