agentleFS
philpalmieriphilpalmieri/engineering-manager-skills/setup/SKILL.md

setup

Skill1 starsChanged 6 months agoMITView on GitHub

Interactive setup wizard for Engineering Manager Skills. Walks the user through creating their team.json configuration file with team roster, org settings, vault path, and project tracking config. Run this first after installing the skills. Use when asked to 'set up', 'configure', or 'initialize' the manager skills.

191 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use add-voice-transcription, add-discord and 10 more.

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.
  • juancruzmunozalbeloSkill

    add-voice-transcription

    Add voice message transcription to NanoClaw using OpenAI's Whisper API. Automatically transcribes WhatsApp voice notes so the agent can read and respond to them.

    Also in 5 projects that use this

  • MicrosoftSkill

    add-discord

    Add Discord bot channel integration via Chat SDK.

    Also in 11 projects that use this

  • MicrosoftSkill

    add-slack

    Add Slack channel integration via Chat SDK.

    Also in 11 projects that use this

  • juancruzmunozalbeloSkill

    add-telegram-swarm

    Add Agent Swarm (Teams) support to Telegram. Each subagent gets its own bot identity in the group. Requires Telegram channel to be set up first (use /add-telegram). Triggers on "agent swarm", "agent teams telegram", "telegram swarm", "bot pool".

    Also in 7 projects that use this

  • +8 more from microsoft

The file

Show its rules and text

We split this skill into the rules it gives an agent

14 rules. 0 are common, 8 are distinctive, and 6 are very specific to this project.

  • 0

    Common

    Most of the 171 edited versions we read keep these.

  • 8

    Distinctive

    This author's own choices. Worth a look.

  • 6

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Check if team.json exists in the current working directory or a data/ subdirectory.

    line 25
  2. Distinctive:

    If it exists, ask if they want to update it or start fresh

    line 27
  3. Very specific:

    If it doesn't exist, create it at ./team.json (or ./data/team.json if a data/ dir exists)

    line 28
  4. Distinctive:

    Ask the user for:

    line 32
  5. Distinctive:

    If the user doesn't use Obsidian, these can be omitted (skills that need vault access will ask at runtime).

    line 58
  6. Distinctive:

    Default to standard calendar year:

    line 65
  7. Distinctive:

    Ask: "What are your team's active projects?

    line 100
  8. Distinctive:

    Ask: "How do you format your schedule in daily notes?"

    line 123
  9. Very specific:

    Write team.json to the chosen location

    line 129
  10. Very specific:

    If team.json already exists, offer:

    line 147
  11. Distinctive:

    Add/remove a team member

    line 148
  12. Distinctive:

    Add/update key projects

    line 150
  13. Very specific:

    All members have login and name

    line 156
  14. Very specific:

    All collaborators have name and relationship

    line 157

“Common” is measured: kept by at least 6 in 10 of the 171 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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Setup Wizard

Walk the user through creating their team.json configuration file step by step. This file is the central config that all other skills reference.

When to Trigger

  • User says "setup", "configure", "initialize", or "get started"
  • User just installed the skills and has no team.json yet
  • User wants to update their team configuration

Process

Step 1: Locate or Create team.json

Check if team.json exists in the current working directory or a data/ subdirectory.

  • If it exists, ask if they want to update it or start fresh
  • If it doesn't exist, create it at ./team.json (or ./data/team.json if a data/ dir exists)

Step 2: Organization and Project Config

Ask the user for:

  1. GitHub org name (required) — e.g., "acme-corp"
  2. Team repo (optional) — the primary repo the team works in, e.g., "acme-corp/platform"
  3. GitHub Project number (optional) — for sprint tracking
  4. Discussion sources (optional) — repos with discussions to monitor, e.g., ["acme-corp/engineering"]

Step 3: Vault Configuration

Ask the user:

  1. Obsidian vault path — full path to their vault (e.g., ~/Documents/Obsidian/workvault)
  2. Vault directory conventions — confirm defaults or customize:
DirectoryPurposeDefault
DailiesDaily notesDailies/
PeoplePeople/1:1 filesPeople/
ProjectsProject filesProjects/
ArchiveArchived contentArchive/
AreasAreas of responsibilityAreas/
  1. Snippet directories:
    • Output: where weekly snippets go (default: Projects/Snippets/)
    • Archive: where old snippets move to (default: Archive/Projects/Snippets/)

If the user doesn't use Obsidian, these can be omitted (skills that need vault access will ask at runtime).

Step 4: Fiscal Year

Ask:

  • Does your org use a non-standard fiscal year?

Default to standard calendar year:

"fiscal_year": { "q1": ["Jan","Feb","Mar"], "q2": ["Apr","May","Jun"], "q3": ["Jul","Aug","Sep"], "q4": ["Oct","Nov","Dec"] }

Step 5: Team Members (Direct Reports)

For each direct report, collect:

FieldRequiredDescription
loginYesGitHub username
nameYesDisplay name
pronounsNoe.g., "she/her"
joinedNoWhen they joined the team (YYYY-MM)
levelNoJob level/title (e.g., "Senior", "L9", "IC3")
relationshipAutoSet to "direct"
vault_nameNoFilename in People/ directory (defaults to login)

Accept bulk input (paste a list) or one-at-a-time.

Step 6: Collaborators

For peers, manager, skip-levels:

FieldRequiredDescription
nameYesDisplay name
loginNoGitHub username
relationshipYesOne of: "manager", "peer", "skip-level"
vault_nameNoFilename in People/ directory
roleNoTheir role for context (e.g., "Product Manager")

Step 7: Key Projects (for Snippet Tracking)

Ask: "What are your team's active projects? For each, give me a name and keywords I can use to match PRs/issues to that project."

Build the snippet.key_projects array:

{ "name": "Project Name", "keywords": ["keyword1", "keyword2"], "issue": 123 }

The issue field is optional (for linking to a tracking epic).

Step 8: Noise/Incident Labels

Ask:

  • Labels to EXCLUDE from reports (noise_labels): e.g., "oncall", "automated"
  • Labels that indicate incidents (incident_labels): e.g., "incident", "sev1"

Step 9: Schedule Conventions

How meetings appear in daily notes:

  • Time-blocked format: HH:MM - HH:MM Description (default)
  • 1:1s identified by: "1:1" prefix, or a [[People/name]] wikilink
  • Skip non-1:1 meetings for prep (standup, training, interviews, etc.)

Ask: "How do you format your schedule in daily notes?"

Step 10: Write and Confirm

  1. Assemble the full JSON
  2. Show a preview to the user
  3. Write team.json to the chosen location
  4. Remind them to add team.json to .gitignore if the repo is public

Post-Setup

After writing, confirm:

✅ team.json created at {path}

Try these to start:
  "prep my day"                — full daily orchestration
  "prep 1:1 for {name}"       — 1:1 talking points
  "weekly snippet"             — draft your status update
  "analyze team last week"     — team activity report

Updating

If team.json already exists, offer:

  • Add/remove a team member
  • Update org settings
  • Add/update key projects
  • Full reconfigure

Validation

After writing, validate:

  • All members have login and name
  • All collaborators have name and relationship
  • relationship values are one of: "direct", "manager", "peer", "skip-level"
  • No duplicate logins
  • fiscal_year has all 4 quarters covering all 12 months

Reference: Full team.json Schema

See team.json.example in the repository root for a complete example with all fields.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.