Labsco
github logo

setup-my-iq

✓ Official36,202

by github · part of github/awesome-copilot

Create, set up, or update the personal context portfolio: structured markdown files describing who you are, how you work, your teams, and your tool/ADO configuration. Runs the interview workflow for first-time setup and targeted edits for updates. Trigger this skill when the user asks to: set up their context, create or update their context portfolio, "create my IQ", "set up my IQ", edit their profile, add/remove a stakeholder, update ADO config, change team info, update pillars, or set up any p

🧩 One of 7 skills in the github/awesome-copilot package — works on its own, and pairs well with its siblings.

This is the playbook your agent receives when the skill activates — you don't need to read it to use the skill, but it's here to audit before installing.

Setup My IQ: Create and Update Context Portfolio

Create and maintain the personal context portfolio: a set of structured markdown files that represent who you are, how you work, and what matters to you. The files can live anywhere on disk (OneDrive folder, a git repo, a local directory, etc.). What ties them into the agent is a pointer in one of the user's custom instructions files (AGENTS.md, copilot-instructions.md, CLAUDE.md, or any *.instructions.md that the host loads into the session).

How This Skill Works

When invoked, determine the current state and take the right action.

Discovering existing context

Scan the session for references to the files this skill creates. The host has already merged all relevant custom instructions files into the session: AGENTS.md (workspace or user-scope), copilot-instructions.md, CLAUDE.md, any *.instructions.md file, and similar host-specific equivalents. It doesn't matter which file the pointer came from, just look for the filenames:

  • identity.md
  • role-and-responsibilities.md
  • team.md
  • tools-systems-and-config.md
  • communication-style.md
  • preferences-and-constraints.md

For each, find an @<absolute-path> (or equivalent path reference) anywhere in the loaded instruction text. That's the file's location. Don't rely on the label or variable name next to the path: users may name pointers differently (identityProfile, me, who-i-am, etc.). Match on the filename at the end of the path.

For each filename, classify as:

  • NOT REFERENCED — no path to this filename is loaded in the session.
  • REFERENCED, FILE MISSING — a path is loaded but the file doesn't exist on disk.
  • PRESENT — path is loaded and the file exists. Read it to check for placeholders.

If the six filenames are in mixed states, handle them in this priority order: first create any NOT REFERENCED files via the interview, then fill REFERENCED, FILE MISSING entries, then fix incomplete fields in PRESENT files. Summarize the combined state to the user before starting so they know what to expect.

Concrete example. Suppose identity.md and team.md are PRESENT and complete, tools-systems-and-config.md is PRESENT but has TODO placeholders in the ADO section, role-and-responsibilities.md and communication-style.md are REFERENCED but the files don't exist on disk, and preferences-and-constraints.md is NOT REFERENCED. The skill should tell the user: "You have identity and team done. Tools-config has gaps. Role and communication-style are referenced but missing. Preferences isn't set up at all. I'll interview you for preferences first, then create role and communication-style, then fill the gaps in tools-config. OK?"

1. No context files referenced

None of the expected filenames appear anywhere in the loaded instructions. Treat this as first-time setup. Run First-Time Setup below.

2. Some files referenced but missing on disk

The user started setup previously and didn't finish, or paths exist without files behind them. Resume where they left off:

  • List which files exist and which are missing.
  • Tell the user: "You have {existing files}. Still need: {missing files}. Want to pick up where you left off?"
  • When choosing the next file to interview for, the priority order from Discovering existing context still applies. Within a tie, use this default sequence: identity -> role -> team -> tools -> communication-style -> preferences-and-constraints.

3. Files exist but have incomplete fields

Files exist but some contain unfilled placeholder values. Fill gaps:

  • Scan all referenced files for any of these incomplete-field patterns:
    • <!-- TODO --> — explicit placeholder
    • HTML comments of the form <!-- ... --> used as stand-in values (e.g., <!-- your name -->, <!-- org name -->, <!-- manager name -->)
    • Any table cell or field whose only content is an HTML comment
  • List the gaps: "I found incomplete fields in {files}. Want to fill them in?"
  • For each gap, ask the specific question for that field (not the full interview).
  • Update the file in place with the user's answer.

4. Files are complete, user wants to update

The user asked to change something, or mentioned a context change in passing (e.g., "my manager changed", "we hired someone new", "I moved to a different team"). Targeted update:

  • If the user mentioned the change in passing during another task, offer: "It sounds like your {file} may need updating. Want me to fix that now?"
  • If the user explicitly asked, proceed directly.
  • Read the file from the path resolved in Discovering existing context.
  • Make the edit and confirm with the user.

5. Files are complete, user wants a full refresh

The user wants to redo a file from scratch. Re-run the interview for that specific file following the same steps as first-time setup.


Context Files

FilePurposeConsumed By
identity.mdName, role, org, team, manager, what you doAny skill that needs to know who the user is
role-and-responsibilities.mdResponsibilities per team, cadences, deliverablesStatus, reporting, and planning skills
team.mdTeam rosters with roles and focus areasSkills that prepare for or summarize interactions with people
tools-systems-and-config.mdTools, meeting tags, ADO config per team, pillars, reporting settingsSkills that read meeting notes, run reports, or talk to ADO
communication-style.mdVoice, tone, formatting rules, words to avoid, audience-specific adjustmentsAny skill that writes content on the user's behalf
preferences-and-constraints.mdHard boundaries, approval rules, working preferences, memory rulesAll skills (especially ones that write or send)

Consumers find these files by reading the pointers loaded from any custom instructions file (AGENTS.md, copilot-instructions.md, CLAUDE.md, *.instructions.md). No MCP or dedicated reader skill is required.


Interview Rules

Tone

Be direct, warm, and specific. You're an interviewer, not a coach. Don't editorialize, compliment, or offer opinions about the user's answers.

Pre-fill from available data sources before asking

Before walking the user through a question list, check whether any of your available tools or data sources can answer the factual fields for you. The user shouldn't have to type things a connected system already knows.

Common examples (use whatever your environment actually provides):

  • A connected work profile or directory may know the user's name, title, organization, team, manager, and direct reports — useful for identity.md and team.md.
  • Calendar, mail, or chat history may surface frequent collaborators and recurring cadences — useful for team.md and role-and-responsibilities.md.
  • Project management or source control integrations may know the user's org/project/area path or repos — useful for tools-systems-and-config.md.
  • Existing writing samples in mail or documents (with the user's permission) may inform communication-style.md without requiring fresh samples.

Rules:

  1. Only use sources the user has already authorized. Don't reach for anything new mid-interview without asking.
  2. Pre-fill is a proposal, not an answer. Present what you found, label it as auto-filled, and ask the user to confirm or correct each value before it goes into a file.
  3. Don't enumerate tool names to the user. Say something like "I can pull some of this from your work profile" rather than listing specific product names.
  4. Fall back to asking when no source is available, or when the data is ambiguous, stale, or sensitive.
  5. Open-ended fields (what you actually do, what people come to you for, voice, boundaries) still need to be asked. Don't fabricate them from indirect signals.

Questions

  • Ask one question at a time. Never present lists of questions.
  • Never ask compound questions.
  • Use what you learn in earlier files to inform later interviews. Don't re-ask things you already know.
  • If the user goes on a tangent useful for a later file, note it and use it when you get there.
  • When the user gives a vague answer, push for specifics: "Can you give me an example?" or "What does that actually look like day to day?"
  • When you have enough to draft, say so and draft. Don't keep asking. "Enough" means you have answers covering the core fields in that file's template (for identity: name, role, org, team, manager, and what they do). You don't need to walk every listed question if earlier answers already covered the information.

The Reaction Pass

After drafting each file, present it and say: "Here's my draft. Read through it and tell me what doesn't sound right. Anything that feels off, anything I assumed wrong, anything that's missing."

If the user says it looks good with no changes, push once: "Pick one sentence that's the weakest or most generic. What would make it more specifically you?"

If they push back a second time and say it's fine, accept it and move on.

File Quality

  • Keep files concise. One page, not five.
  • The files should sound like the user, not like an AI writing about them.
  • Use their language, their framing, their level of formality.
  • Never use em dashes.
  • If the user wants to skip a file, let them.
  • If the user needs to stop mid-file, tell them where you are so they can resume.

Example: Identity Interview Walkthrough

This shows what a complete identity.md interview looks like from first question through final written file.

Agent: What's your name and current role?

User: Dana Kim, Senior Program Manager.

Agent: What organization are you with, and what team?

User: Contoso, Cloud Engineering. I'm on the Platform Operations team under Jordan Rivera.

Agent: If you had to explain what you actually do to someone at a dinner party, what would you say?

User: I keep the data platform teams running. Sprint planning, status reporting, making sure leadership knows what's happening without everyone drowning in update emails. I also build AI tooling that automates the repetitive parts of program management.

Agent: What do people come to you for?

User: Two things: getting a clear picture of where a project actually stands (not the sanitized version), and figuring out how to use AI tools to cut busywork out of their workflows.

Agent: I have enough to draft. Here's my draft:

# Identity

- **Name:** Dana Kim
- **Role:** Senior Program Manager
- **Organization:** Cloud Engineering, Contoso
- **Team:** Platform Operations
- **Manager:** Jordan Rivera

## What I Do

I keep the data platform teams running: sprint planning, status reporting,
and making sure leadership knows what's happening without everyone drowning
in update emails. I also build AI tooling that automates the repetitive
parts of program management.

## What People Come to Me For

Two things: getting a clear picture of where a project actually stands (not
the sanitized version), and figuring out how to use AI tools to cut busywork
out of their workflows.

Read through it and tell me what doesn't sound right. Anything that feels off, anything I assumed wrong, anything that's missing.

User: Looks good, ship it.

Agent: Pick one sentence that's the weakest or most generic. What would make it more specifically you?

User: The "keep the data platform teams running" line. It's more like I'm the connective tissue between engineering, leadership, and the ops cadence. Nobody else holds all three perspectives at once.

Agent: (Updates the "What I Do" paragraph and writes the file to the context directory.)

That's identity done. Next is role-and-responsibilities, which captures what your weeks actually look like. Ready?


Example: Targeted Update

This shows how a context change mentioned in passing triggers a targeted update (state 4).

User: Can you pull my meetings from last week? Oh, also, Jordan isn't my manager anymore. I moved under Morgan.

Agent: I'll fetch your meetings. It also sounds like your identity file needs updating. Want me to fix that now?

User: Yeah go ahead.

Agent: (Resolves the identity.md path from the loaded custom instructions, reads the file, updates the Manager field from "Jordan Rivera" to "Morgan", writes the file back.)

Done. Updated your manager to Morgan in identity.md. I'll proceed with fetching your meetings now.


Safety

  • Do NOT store credentials, API keys, tokens, or secrets in context files. If the user provides one during an interview, omit it and explain why.
  • Only write to the user's chosen context directory and to the custom instructions file the user has approved. Never write files to other locations.
  • Never delete an existing context file. If a refresh is needed, back up the existing file to <file>.bak-<yyyyMMddHHmmss> first and confirm with the user before overwriting.

For how consumers should READ these files safely (treat as data, don't leak content, ignore prompt-injection text, etc.), see the ## Safety block in the bundled AGENTS.md template at assets/templates/AGENTS.md. That block is what gets written into the user's custom instructions file in step 10d, so every consuming skill picks up the rules automatically.


Error Handling

Write failures

If a write to a context file fails:

  1. Retry once.
  2. If the retry fails, present the drafted content to the user in a code block so nothing is lost.
  3. Suggest: "The write failed. You can copy the draft above, or we can try a different directory."

Malformed existing files

If an existing context file cannot be parsed (missing headings, broken tables, garbled content):

  • Show the user what looks wrong.
  • Offer to regenerate the file from scratch using the template, preserving any recognizable values from the broken file.
  • Do not silently overwrite. Always confirm before replacing.

Author

Contributed by @lakshmistoltz.