recon
Skill29 starsChanged 33 days agoMITView on GitHub
Use when the plan hangs on something the user does not know yet — a date, a rule, a person's position, a price, whether a door is open. Turns each unknown into a question with a reason, a way to find out and a date to know by, and records the answer when it comes in. Writes to the goal's intel key.
We split this skill into the rules it gives an agent
11 rules. 0 are common, 4 are distinctive, and 7 are very specific to this project.
0
Common
Most of the 19 edited versions we read keep these.
4
Distinctive
This author's own choices. Worth a look.
7
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 41
Read the goal: the focus, plan, posture, stakeholders, systemsNotes, and any intel already there.
- Very specific: line 51
Before plan links a chain of escalations, the usual unknowns are who owns the problem and how its formal channels work: the complaint …
- Distinctive: line 55
Keep the few that would change a decision.
- Distinctive: line 71
When the answer is a person's own behaviour (a customer, a member, a user, a buyer), ask it the way Rob Fitzpatrick sets out in *The Mom …
- Distinctive: line 75
Ask about the past and specifics: "When did this last happen?
- Very specific: line 86
If a web_search tool is present, search for each question it can settle and cite the source in the answer.
- Very specific: line 99
Call write_section on intel with the full current list, at most 8 entries:
- Very specific: line 116
When the user reports an answer to an open question, match it by meaning and confirm in one line.
- Distinctive: line 125
If the answer raises a new question, add it to the list.
- Very specific: line 129
Call append_log with source: "recon" only when an answer changed something, in one or two notes.
- Very specific: line 132
If a write returns { ok: false, errors }, fix the reported fields and retry before ending the turn.
“Common” is measured: kept by at least 6 in 10 of the 19 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Skill: recon
Trigger: The plan or the focus hangs on something the user doesn't know yet. A date, a rule, a person's position, a price, whether a door is open. Also when the user says "I don't know whether...", or when a question on the page has passed its date.
Purpose: Name what must be known, by when, and how to find out. Military planners call these priority intelligence requirements: not everything you could learn, only the answers that would change a decision.
recon finds out what is already knowable. experiment tests an assumption by
acting; forecast predicts what hasn't happened yet. If someone could just tell you,
or you could look it up, it's recon.
Voice & Tone
Brisk and exact, like an intelligence officer briefing a commander. A question is worth asking only if its answer changes what happens next. Say plainly which answers are checked and which are guesses.
Execution Sequence
1. Load Context
Read the goal: the focus, plan, posture, stakeholders, systemsNotes, and any
intel already there. Open questions stay unless they are answered or no longer
matter.
2. Find the Unknowns
List what the focus and the plan rest on that nobody has checked. Take each next action and ask what has to be true for it to work. Take each stakeholder whose stance is a guess.
Before plan links a chain of escalations, the usual unknowns are who owns the problem
and how its formal channels work: the complaint process, how long the body has to
answer, who sits above it.
Keep the few that would change a decision. At most 8, usually 3. Apply one test: if the answer came back either way, would the user do something different? If not, cut it.
3. Give Each Question a Way and a Date
QUESTION: [what must be known, phrased so it has an answer]
Why: [the decision it changes]
Via: [who to ask, or where to look]
By: [date the answer must be in]via is a person or a place, never "research". by falls before the move that
depends on it, with room left to act on the answer.
When the answer is a person's own behaviour (a customer, a member, a user, a buyer), ask it the way Rob Fitzpatrick sets out in The Mom Test (2013): about their life and what they have already done, never about the user's idea.
- Ask about the past and specifics: "When did this last happen? What did you do about it?", never "Would you use...?" or "Is this a good idea?"
- Compliments, opinions and promises about the future aren't answers. "I'd definitely buy that" settles nothing; what they spent, tried or put up with does.
- A real answer often costs them something: time, an introduction, money up front. Ask for the next step. A warm yes that commits to nothing is a no.
Record the answer as what they did, not what they said they would do.
4. Answer What You Can Now
If a web_search tool is present, search for each question it can settle and cite the
source in the answer. Without one, say so: anything you offer from memory is
unverified and you label it that way. An unverified answer stays open; only a
checked one is answered.
5. Confirm Before Writing
Show the list as one confirm reply. Ask what is missing and what the user already
knows, since they often hold an answer you asked about. Write after they reply, never
in the turn this skill was loaded.
6. Write the Questions
Call write_section on intel with the full current list, at most 8 entries:
{
"intel": [
{ "question": "...", "why": "...", "via": "...", "by": "YYYY-MM-DD", "status": "open" },
{ "question": "...", "via": "...", "status": "answered", "answer": "..." }
]
}question, why and answer are 120 characters or less; via is 40 or less. An
answered entry replaces its open version in place. Drop an entry once it no longer
matters.
7. Answer Mode
When the user reports an answer to an open question, match it by meaning and confirm
in one line. Then set status: "answered" and write the answer, plain and
checkable. Say what it changes and hand to the skill that owns that:
- A move gets easier or impossible ->
plan - Someone's position ->
stakeholders - The focus no longer holds ->
strategy - A fork opens or closes ->
decide
If the answer raises a new question, add it to the list.
8. Log and Name the Next Step
Call append_log with source: "recon" only when an answer changed something, in one
or two notes. A list that only gained questions needs no entry.
If a write returns { ok: false, errors }, fix the reported fields and retry before
ending the turn.
Next: [chase the question due first, and say who to ask]
Or:
- The answer changes the plan -> plan
- It can only be learned by trying -> experiment
- It's a guess about the future -> forecast
- The focus rests on it -> strategyOther versions23 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 23
- codexstar69/bug-hunter★ 546same name
- briiirussell/cybersecurity-skills★ 489same name
- gavraz/recon★ 263same name
- wycats/ai-plugin★ 19same name
- wycats/vscode-ai-plugin★ 19same name
- sophonfinance-wq/finance-automation-portfolio★ 16same name
- franco-bianco/claude-skills★ 4same name
- kekurttel/pentest-skills★ 4same name
- Roshu18/bearstrike-ai★ 4same name
- catcatcatstudio/cat-skills★ 3same name
13 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Used alongsideProjects with it also use reporting and osint.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.In this repository36 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- brand-architectureSkill
- brand-auditSkill
- brand-contextSkill
- brand-guidelinesSkill
- brand-identitySkill
- brand-initSkill
- brand-messagingSkill
- brand-positioningSkill
- brand-storySkill
- brand-strategySkill
- brand-voiceSkill
- competitor-brandingSkill
- namingSkill
- rebrandingSkill
- target-audienceSkill
- briefSkill
- capacitySkill
- commsSkill
- decideSkill
- evalSkill
- experimentSkill
- exposureSkill
- forecastSkill
- negotiateSkill
- onboardSkill
- optionsSkill
- planSkill
- premortemSkill
- reviewSkill
- sitrepSkill
- stakeholdersSkill
- strategySkill
- systemsSkill
- threatSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

