{
  "id": "fact-scope-guard",
  "slug": "fact-scope-guard",
  "name": "Fact Scope Guard",
  "tagline": "Remember the right things, for the right scope.",
  "description": "Tags every saved fact with where it applies, so a one-off answer stays one-off and a standing rule applies everywhere.",
  "category": "For bots",
  "platforms": [
    "Grok Bot",
    "Muse",
    "Dots"
  ],
  "schedule": "Always on",
  "outputType": "checklist",
  "previewImage": "previews/fact-scope-guard.png",
  "installSteps": {
    "grokBot": {
      "label": "Grok Bot",
      "status": "verified",
      "steps": [
        "Copy skills/fact-scope-guard/SKILL.md (the whole file, including the --- header).",
        "Open a one-to-one chat with your Grok Bot and paste the prompt below, with the file where it says.",
        "Try it once now: \"Run Fact Scope Guard.\""
      ],
      "prompt": "Save the following as a skill called \"Fact Scope Guard\". No routine needed: apply it automatically before saving any fact to memory and before using a remembered fact in a form, letter, application or message. Before the first run, ask me the setup questions in the skill and remember my answers.\n\n<paste SKILL.md here>",
      "note": "Skills and routines are saved by asking the Bot; no settings to dig through.",
      "promptFull": "Save the following as a skill called \"Fact Scope Guard\". No routine needed: apply it automatically before saving any fact to memory and before using a remembered fact in a form, letter, application or message. Before the first run, ask me the setup questions in the skill and remember my answers.\n\n---\nname: fact-scope-guard\ndescription: Use before saving a fact to memory, and before using any remembered fact in a form, letter, application, or message, so that facts given for one person, one program, or one application are never reused where they don't belong. Essential when one assistant or a team of bots handles several people or several kinds of applications.\nmetadata:\n  id: fact-scope-guard\n  version: \"1.0.0\"\n  author: BotPlaza\n---\n\n# Fact Scope Guard\n\n## What it does\n\nStops the most embarrassing kind of assistant mistake: using a true fact in the wrong place. Examples are a start date given for a scholarship ending up on a job application, a one-off answer becoming a standing rule, or one person's details landing in another person's file. Every saved fact gets a scope, and every use is checked against it.\n\n## When to use\n\n- Every time a fact is saved to memory or notes.\n- Every time a remembered fact is about to go into a form, document, or message.\n- When relaying information to another bot.\n\n## Requires\n\nNothing beyond the assistant's own memory or notes.\n\n## Schedule\n\nAlways on. It runs before every save and every use of a remembered fact.\n\n## Inputs\n\n| Setting | Default | Notes |\n|---|---|---|\n| `scopes` | person, program, single use | Add your own, for example \"scholarships\", \"job applications\", \"legal case\". |\n| `standing_rule_words` | \"always\", \"from now on\", \"every time\" | Only these turn a one-off answer into a rule. |\n| `on_conflict` | newer wins, then ask | What to do when two facts in the same scope disagree. |\n\n## Steps\n\n1. **Tag on save.** Store each fact with its scope, its date, and who said it, for example: \"Portfolio link goes in the Website field (scope: all forms; said by the user, Oct 30)\".\n2. **Check on use.** Before using a fact, compare its scope with the task. If they don't match, leave the fact out and use the standing answer for this task, or ask.\n3. **One-off stays one-off.** An answer given for a single application applies only to that application unless the user uses a standing-rule word.\n4. **Relay narrowly.** When passing facts to another bot, send only the facts in that bot's scope, and label anything limited to one application.\n5. **Unconfirmed stays marked.** A guess or an unconfirmed fact is saved as unconfirmed and never used as true.\n6. **Fix leaks.** If a fact was used outside its scope, fix the draft before it goes anywhere and tell the user in one line.\n\n## Output format\n\n```markdown\n| Fact | Scope | Said by | Date | Status |\n|---|---|---|---|---|\n| {fact} | {scope} | {who} | {date} | confirmed / unconfirmed / one-off |\n```\n\n## Edge cases\n\n- **Same fact, different scopes:** save it once per scope if the wording differs, for example a degree described one way on resumes and another way on grant forms.\n- **Two people's data:** never mix them in one file, folder, or message.\n- **The user corrects a fact:** replace it in that scope, keep the date, and drop the old version.\n\n## Boundaries\n\n- Never save secrets (passwords, codes, card numbers, ID numbers) as facts in any scope.\n- Never silently widen a fact's scope. Ask first."
    },
    "muse": {
      "label": "Muse",
      "status": "partially-verified",
      "steps": [
        "Copy skills/fact-scope-guard/SKILL.md.",
        "Open Muse and paste the prompt below with the file where it says.",
        "Try it: \"Run Fact Scope Guard.\" Muse has no skill install for outside skills, so it follows the pasted instructions.",
        "Muse Code (developer CLI): unzip downloads/fact-scope-guard.zip, run `muse skills validate ./fact-scope-guard` then `muse skills install ./fact-scope-guard --scope user`. Optional: add the BotPlaza connector (https://botplaza.lol/api/mcp) under mcpServers in ~/.config/muse/settings.json."
      ],
      "sourceUrl": "https://www.meta.com/help/superintelligence/1484325780075655/",
      "note": "Recurring tasks and Muse Code skill install are documented by Meta. Installing outside skills in the Muse app is not.",
      "prompt": "Here are instructions for a task called \"Fact Scope Guard\". Follow them whenever I say \"Run Fact Scope Guard\". Ask me the setup questions first and remember my answers.\n\n<paste SKILL.md here>\n\nIf you can save this as a skill, please do.",
      "promptFull": "Here are instructions for a task called \"Fact Scope Guard\". Follow them whenever I say \"Run Fact Scope Guard\". Ask me the setup questions first and remember my answers.\n\n---\nname: fact-scope-guard\ndescription: Use before saving a fact to memory, and before using any remembered fact in a form, letter, application, or message, so that facts given for one person, one program, or one application are never reused where they don't belong. Essential when one assistant or a team of bots handles several people or several kinds of applications.\nmetadata:\n  id: fact-scope-guard\n  version: \"1.0.0\"\n  author: BotPlaza\n---\n\n# Fact Scope Guard\n\n## What it does\n\nStops the most embarrassing kind of assistant mistake: using a true fact in the wrong place. Examples are a start date given for a scholarship ending up on a job application, a one-off answer becoming a standing rule, or one person's details landing in another person's file. Every saved fact gets a scope, and every use is checked against it.\n\n## When to use\n\n- Every time a fact is saved to memory or notes.\n- Every time a remembered fact is about to go into a form, document, or message.\n- When relaying information to another bot.\n\n## Requires\n\nNothing beyond the assistant's own memory or notes.\n\n## Schedule\n\nAlways on. It runs before every save and every use of a remembered fact.\n\n## Inputs\n\n| Setting | Default | Notes |\n|---|---|---|\n| `scopes` | person, program, single use | Add your own, for example \"scholarships\", \"job applications\", \"legal case\". |\n| `standing_rule_words` | \"always\", \"from now on\", \"every time\" | Only these turn a one-off answer into a rule. |\n| `on_conflict` | newer wins, then ask | What to do when two facts in the same scope disagree. |\n\n## Steps\n\n1. **Tag on save.** Store each fact with its scope, its date, and who said it, for example: \"Portfolio link goes in the Website field (scope: all forms; said by the user, Oct 30)\".\n2. **Check on use.** Before using a fact, compare its scope with the task. If they don't match, leave the fact out and use the standing answer for this task, or ask.\n3. **One-off stays one-off.** An answer given for a single application applies only to that application unless the user uses a standing-rule word.\n4. **Relay narrowly.** When passing facts to another bot, send only the facts in that bot's scope, and label anything limited to one application.\n5. **Unconfirmed stays marked.** A guess or an unconfirmed fact is saved as unconfirmed and never used as true.\n6. **Fix leaks.** If a fact was used outside its scope, fix the draft before it goes anywhere and tell the user in one line.\n\n## Output format\n\n```markdown\n| Fact | Scope | Said by | Date | Status |\n|---|---|---|---|---|\n| {fact} | {scope} | {who} | {date} | confirmed / unconfirmed / one-off |\n```\n\n## Edge cases\n\n- **Same fact, different scopes:** save it once per scope if the wording differs, for example a degree described one way on resumes and another way on grant forms.\n- **Two people's data:** never mix them in one file, folder, or message.\n- **The user corrects a fact:** replace it in that scope, keep the date, and drop the old version.\n\n## Boundaries\n\n- Never save secrets (passwords, codes, card numbers, ID numbers) as facts in any scope.\n- Never silently widen a fact's scope. Ask first.\n\nIf you can save this as a skill, please do."
    },
    "dots": {
      "label": "Dots",
      "status": "partially-verified",
      "steps": [
        "Copy skills/fact-scope-guard/SKILL.md.",
        "Paste the prompt below into your dot's conversation in ChatGPT, with the file where it says.",
        "Optional: in ChatGPT, Plugins > + > Add custom MCP server with https://botplaza.lol/api/mcp (no authentication). Dots can use installed plugins, but OpenAI hasn't said whether that includes custom ones.",
        "Business, Enterprise, Healthcare and Edu workspaces can also upload downloads/fact-scope-guard.zip under Plugins > Skills > Create > Upload from your computer."
      ],
      "sourceUrl": "https://learn.chatgpt.com/docs/dots",
      "note": "Dots are available on ChatGPT Pro, Business Premium and Enterprise, and are still rolling out. Pasting instructions in and scheduled check-ins are documented.",
      "prompt": "Here are instructions for a task called \"Fact Scope Guard\". Take this on as an ongoing responsibility and follow them whenever I say \"Run Fact Scope Guard\". Ask me the setup questions first and remember my answers.\n\n<paste SKILL.md here>",
      "promptFull": "Here are instructions for a task called \"Fact Scope Guard\". Take this on as an ongoing responsibility and follow them whenever I say \"Run Fact Scope Guard\". Ask me the setup questions first and remember my answers.\n\n---\nname: fact-scope-guard\ndescription: Use before saving a fact to memory, and before using any remembered fact in a form, letter, application, or message, so that facts given for one person, one program, or one application are never reused where they don't belong. Essential when one assistant or a team of bots handles several people or several kinds of applications.\nmetadata:\n  id: fact-scope-guard\n  version: \"1.0.0\"\n  author: BotPlaza\n---\n\n# Fact Scope Guard\n\n## What it does\n\nStops the most embarrassing kind of assistant mistake: using a true fact in the wrong place. Examples are a start date given for a scholarship ending up on a job application, a one-off answer becoming a standing rule, or one person's details landing in another person's file. Every saved fact gets a scope, and every use is checked against it.\n\n## When to use\n\n- Every time a fact is saved to memory or notes.\n- Every time a remembered fact is about to go into a form, document, or message.\n- When relaying information to another bot.\n\n## Requires\n\nNothing beyond the assistant's own memory or notes.\n\n## Schedule\n\nAlways on. It runs before every save and every use of a remembered fact.\n\n## Inputs\n\n| Setting | Default | Notes |\n|---|---|---|\n| `scopes` | person, program, single use | Add your own, for example \"scholarships\", \"job applications\", \"legal case\". |\n| `standing_rule_words` | \"always\", \"from now on\", \"every time\" | Only these turn a one-off answer into a rule. |\n| `on_conflict` | newer wins, then ask | What to do when two facts in the same scope disagree. |\n\n## Steps\n\n1. **Tag on save.** Store each fact with its scope, its date, and who said it, for example: \"Portfolio link goes in the Website field (scope: all forms; said by the user, Oct 30)\".\n2. **Check on use.** Before using a fact, compare its scope with the task. If they don't match, leave the fact out and use the standing answer for this task, or ask.\n3. **One-off stays one-off.** An answer given for a single application applies only to that application unless the user uses a standing-rule word.\n4. **Relay narrowly.** When passing facts to another bot, send only the facts in that bot's scope, and label anything limited to one application.\n5. **Unconfirmed stays marked.** A guess or an unconfirmed fact is saved as unconfirmed and never used as true.\n6. **Fix leaks.** If a fact was used outside its scope, fix the draft before it goes anywhere and tell the user in one line.\n\n## Output format\n\n```markdown\n| Fact | Scope | Said by | Date | Status |\n|---|---|---|---|---|\n| {fact} | {scope} | {who} | {date} | confirmed / unconfirmed / one-off |\n```\n\n## Edge cases\n\n- **Same fact, different scopes:** save it once per scope if the wording differs, for example a degree described one way on resumes and another way on grant forms.\n- **Two people's data:** never mix them in one file, folder, or message.\n- **The user corrects a fact:** replace it in that scope, keep the date, and drop the old version.\n\n## Boundaries\n\n- Never save secrets (passwords, codes, card numbers, ID numbers) as facts in any scope.\n- Never silently widen a fact's scope. Ask first."
    },
    "chatgpt": {
      "label": "ChatGPT",
      "status": "unverified",
      "verified": false,
      "steps": [
        "Download https://botplaza.lol/downloads/fact-scope-guard.zip (don't unzip).",
        "ChatGPT sidebar \u2192 Plugins \u2192 Skills tab \u2192 Create \u2192 Upload from your computer.",
        "Wait for the scan; if it says Needs Review, read it and approve.",
        "Use it with @fact-scope-guard or just ask."
      ],
      "sourceUrl": "https://help.openai.com/en/articles/20001066-skills-in-chatgpt",
      "note": "Business, Enterprise, Edu and Healthcare plans only. Other plans fall back to pasting the prompt.",
      "prompt": "Here are instructions for a task called \"Fact Scope Guard\". Follow them whenever I say \"Run Fact Scope Guard\". Ask me the setup questions first and remember my answers.\n\n<paste SKILL.md here>",
      "promptFull": "Here are instructions for a task called \"Fact Scope Guard\". Follow them whenever I say \"Run Fact Scope Guard\". Ask me the setup questions first and remember my answers.\n\n---\nname: fact-scope-guard\ndescription: Use before saving a fact to memory, and before using any remembered fact in a form, letter, application, or message, so that facts given for one person, one program, or one application are never reused where they don't belong. Essential when one assistant or a team of bots handles several people or several kinds of applications.\nmetadata:\n  id: fact-scope-guard\n  version: \"1.0.0\"\n  author: BotPlaza\n---\n\n# Fact Scope Guard\n\n## What it does\n\nStops the most embarrassing kind of assistant mistake: using a true fact in the wrong place. Examples are a start date given for a scholarship ending up on a job application, a one-off answer becoming a standing rule, or one person's details landing in another person's file. Every saved fact gets a scope, and every use is checked against it.\n\n## When to use\n\n- Every time a fact is saved to memory or notes.\n- Every time a remembered fact is about to go into a form, document, or message.\n- When relaying information to another bot.\n\n## Requires\n\nNothing beyond the assistant's own memory or notes.\n\n## Schedule\n\nAlways on. It runs before every save and every use of a remembered fact.\n\n## Inputs\n\n| Setting | Default | Notes |\n|---|---|---|\n| `scopes` | person, program, single use | Add your own, for example \"scholarships\", \"job applications\", \"legal case\". |\n| `standing_rule_words` | \"always\", \"from now on\", \"every time\" | Only these turn a one-off answer into a rule. |\n| `on_conflict` | newer wins, then ask | What to do when two facts in the same scope disagree. |\n\n## Steps\n\n1. **Tag on save.** Store each fact with its scope, its date, and who said it, for example: \"Portfolio link goes in the Website field (scope: all forms; said by the user, Oct 30)\".\n2. **Check on use.** Before using a fact, compare its scope with the task. If they don't match, leave the fact out and use the standing answer for this task, or ask.\n3. **One-off stays one-off.** An answer given for a single application applies only to that application unless the user uses a standing-rule word.\n4. **Relay narrowly.** When passing facts to another bot, send only the facts in that bot's scope, and label anything limited to one application.\n5. **Unconfirmed stays marked.** A guess or an unconfirmed fact is saved as unconfirmed and never used as true.\n6. **Fix leaks.** If a fact was used outside its scope, fix the draft before it goes anywhere and tell the user in one line.\n\n## Output format\n\n```markdown\n| Fact | Scope | Said by | Date | Status |\n|---|---|---|---|---|\n| {fact} | {scope} | {who} | {date} | confirmed / unconfirmed / one-off |\n```\n\n## Edge cases\n\n- **Same fact, different scopes:** save it once per scope if the wording differs, for example a degree described one way on resumes and another way on grant forms.\n- **Two people's data:** never mix them in one file, folder, or message.\n- **The user corrects a fact:** replace it in that scope, keep the date, and drop the old version.\n\n## Boundaries\n\n- Never save secrets (passwords, codes, card numbers, ID numbers) as facts in any scope.\n- Never silently widen a fact's scope. Ask first."
    },
    "gemini": {
      "label": "Gemini",
      "status": "unverified",
      "verified": false,
      "steps": [
        "gemini.google.com \u2192 Customize \u2192 Skills \u2192 Create \u2192 Upload \u2192 pick the SKILL.md at https://botplaza.lol/skills/fact-scope-guard.md (or https://botplaza.lol/downloads/fact-scope-guard.zip).",
        "Review, then Create.",
        "Use it with /fact-scope-guard."
      ],
      "sourceUrl": "https://support.google.com/gemini/answer/17094296",
      "note": "Personal accounts 18+. Workspace users must recreate the skill in Workspace Studio.",
      "prompt": "Here are instructions for a task called \"Fact Scope Guard\". Follow them whenever I say \"Run Fact Scope Guard\". Ask me the setup questions first and remember my answers.\n\n<paste SKILL.md here>",
      "promptFull": "Here are instructions for a task called \"Fact Scope Guard\". Follow them whenever I say \"Run Fact Scope Guard\". Ask me the setup questions first and remember my answers.\n\n---\nname: fact-scope-guard\ndescription: Use before saving a fact to memory, and before using any remembered fact in a form, letter, application, or message, so that facts given for one person, one program, or one application are never reused where they don't belong. Essential when one assistant or a team of bots handles several people or several kinds of applications.\nmetadata:\n  id: fact-scope-guard\n  version: \"1.0.0\"\n  author: BotPlaza\n---\n\n# Fact Scope Guard\n\n## What it does\n\nStops the most embarrassing kind of assistant mistake: using a true fact in the wrong place. Examples are a start date given for a scholarship ending up on a job application, a one-off answer becoming a standing rule, or one person's details landing in another person's file. Every saved fact gets a scope, and every use is checked against it.\n\n## When to use\n\n- Every time a fact is saved to memory or notes.\n- Every time a remembered fact is about to go into a form, document, or message.\n- When relaying information to another bot.\n\n## Requires\n\nNothing beyond the assistant's own memory or notes.\n\n## Schedule\n\nAlways on. It runs before every save and every use of a remembered fact.\n\n## Inputs\n\n| Setting | Default | Notes |\n|---|---|---|\n| `scopes` | person, program, single use | Add your own, for example \"scholarships\", \"job applications\", \"legal case\". |\n| `standing_rule_words` | \"always\", \"from now on\", \"every time\" | Only these turn a one-off answer into a rule. |\n| `on_conflict` | newer wins, then ask | What to do when two facts in the same scope disagree. |\n\n## Steps\n\n1. **Tag on save.** Store each fact with its scope, its date, and who said it, for example: \"Portfolio link goes in the Website field (scope: all forms; said by the user, Oct 30)\".\n2. **Check on use.** Before using a fact, compare its scope with the task. If they don't match, leave the fact out and use the standing answer for this task, or ask.\n3. **One-off stays one-off.** An answer given for a single application applies only to that application unless the user uses a standing-rule word.\n4. **Relay narrowly.** When passing facts to another bot, send only the facts in that bot's scope, and label anything limited to one application.\n5. **Unconfirmed stays marked.** A guess or an unconfirmed fact is saved as unconfirmed and never used as true.\n6. **Fix leaks.** If a fact was used outside its scope, fix the draft before it goes anywhere and tell the user in one line.\n\n## Output format\n\n```markdown\n| Fact | Scope | Said by | Date | Status |\n|---|---|---|---|---|\n| {fact} | {scope} | {who} | {date} | confirmed / unconfirmed / one-off |\n```\n\n## Edge cases\n\n- **Same fact, different scopes:** save it once per scope if the wording differs, for example a degree described one way on resumes and another way on grant forms.\n- **Two people's data:** never mix them in one file, folder, or message.\n- **The user corrects a fact:** replace it in that scope, keep the date, and drop the old version.\n\n## Boundaries\n\n- Never save secrets (passwords, codes, card numbers, ID numbers) as facts in any scope.\n- Never silently widen a fact's scope. Ask first."
    },
    "cli": {
      "label": "Skills CLI",
      "status": "verified",
      "steps": [
        "All agents: `npx skills add https://botplaza.lol --skill fact-scope-guard` (add `-a claude-code`, `-a codex`, or `-a cursor` to choose one).",
        "Claude Code marketplace: `/plugin marketplace add https://botplaza.lol/.claude-plugin/marketplace.json` then `/plugin install fact-scope-guard@botplaza`.",
        "Fallback, Claude Code: `curl -fsSL https://botplaza.lol/downloads/fact-scope-guard.zip -o s.zip && unzip s.zip -d ~/.claude/skills/`.",
        "Fallback, Codex and other .agents readers: `curl -fsSL https://botplaza.lol/downloads/fact-scope-guard.zip -o s.zip && unzip s.zip -d ~/.agents/skills/`.",
        "Fallback, Cursor project: `curl -fsSL https://botplaza.lol/downloads/fact-scope-guard.zip -o s.zip && unzip s.zip -d .cursor/skills/`."
      ],
      "sourceUrl": "https://www.skills.sh/docs",
      "note": "The skills CLI reads /.well-known/agent-skills/index.json and installs each SKILL.md. The zip fallback uses the existing downloads/<slug>.zip folder layout.",
      "prompt": "npx skills add https://botplaza.lol --skill fact-scope-guard",
      "promptFull": "npx skills add https://botplaza.lol --skill fact-scope-guard"
    }
  },
  "author": "BotPlaza",
  "tags": [
    "memory",
    "scope",
    "privacy",
    "accuracy"
  ],
  "featured": false,
  "longDescription": "Fact Scope Guard stops bots from over-remembering. Before saving a fact it asks: is this a standing rule, true for one project, or a one-time answer? It tags the fact with that scope and checks the scope before using it.",
  "customization": [
    {
      "key": "shared",
      "label": "Shared memory",
      "type": "boolean",
      "question": "Do several bots share this memory?",
      "default": false
    }
  ],
  "whatYouGet": [
    "Scope tags on every fact",
    "One-off answers kept one-off",
    "Fewer wrong reuses"
  ],
  "dataSources": [
    {
      "name": "Assistant memory",
      "required": true
    }
  ],
  "setupTime": "1 minute",
  "sampleOutput": "samples/fact-scope-guard.md",
  "skillFile": "skills/fact-scope-guard/SKILL.md",
  "version": "1.0.0",
  "license": "",
  "previewAlt": "A list of remembered facts, each tagged with a scope label such as all, one project or one-off.",
  "writesOrSends": "Edits the bot's own memory.",
  "audience": "bots",
  "setup": [
    {
      "key": "shared",
      "question": "Do several bots share this memory?",
      "type": "boolean",
      "default": false
    }
  ],
  "safety": {
    "dataAccess": [
      "The bot's own memory"
    ],
    "writesOrSends": "Edits the bot's own memory.",
    "estCost": "Very low: a check before each save and each use of a remembered fact.",
    "costLevel": "medium",
    "warnings": [
      "Facts given for one person, program or application are never reused elsewhere without asking."
    ]
  },
  "checked": {
    "instructionOnly": true,
    "scripts": false,
    "runtimeFetch": false,
    "sha256": "4cd6d13d8c2cc41038b2fdd8bf980f2dd324a799afbc684d4a0cc5b5faff5f92",
    "checkedOn": "2026-10-31"
  },
  "urls": {
    "page": "https://botplaza.lol/skills/fact-scope-guard/",
    "markdown": "https://botplaza.lol/skills/fact-scope-guard.md",
    "skillMd": "https://botplaza.lol/skills/fact-scope-guard/SKILL.md",
    "json": "https://botplaza.lol/skills/fact-scope-guard.json",
    "zip": "https://botplaza.lol/downloads/fact-scope-guard.zip",
    "mcp": "https://botplaza.lol/api/mcp"
  }
}