Skip to content
Back to skills

Guild Specialize

ASecurity

Enriches CLAUDE.md by exploring the project and specializes agents to the real stack

  • 4 stars
  • 0 votes
  • 0 copies
  • 5 views
  • Added May 26, 2026
developmenttypescriptpythonrustgojavarubybashsqlreactnextjs

Works with

  • api

Security analysis

A100/100

Scanned May 27, 2026

npx -y skills add Guild-Agents/guild --skill guild-specialize --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Guild Specialize?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Guild Specialize
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/guild-agents-guild-specialize/badge)](https://www.skillsdirectory.com/skills/guild-agents-guild-specialize)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: guild-specialize
description: "Enriches CLAUDE.md by exploring the project and specializes agents to the real stack"
user-invocable: true
workflow:
  version: 1
  steps:
    - id: read-base
      role: system
      intent: "Read CLAUDE.md, PROJECT.md, and SESSION.md for current Guild configuration."
      produces: [claude-md, project-md, session-md]
    - id: explore-project
      role: system
      intent: "Scan project structure, dependency files, configs, CI, and documentation to detect stack and architecture."
      produces: [detected-stack, detected-architecture, detected-conventions]
      gate: true
    - id: enrich-claude-md
      role: tech-lead
      intent: "Replace [PENDING: guild-specialize] placeholders in CLAUDE.md with detected project information."
      requires: [claude-md, detected-stack, detected-architecture, detected-conventions]
      produces: [enriched-claude-md]
      model-tier: reasoning
    - id: specialize-agents
      role: tech-lead
      intent: "Add project-specific context to each agent definition in .claude/agents/."
      requires: [detected-stack, detected-architecture, detected-conventions]
      produces: [specialized-agents]
      model-tier: execution
    - id: confirm
      role: system
      intent: "Present summary of detected stack, architecture, and updated agents."
      requires: [enriched-claude-md, specialized-agents]
      produces: [specialization-summary]
      gate: true
    - id: commit-enrichment
      role: system
      intent: "Commit enriched CLAUDE.md and agent files as an atomic commit."
      requires: [enriched-claude-md, specialized-agents]
      produces: [enrichment-commit]
---

# Guild Specialize

Explores the user's real project and enriches the entire Guild configuration with concrete information about the detected stack, architecture, and conventions.

This skill runs once after `guild init`. It transforms generic placeholders into real project information.

## When to use

- Immediately after running `guild init`
- When a new stack is added to the project (new database, new framework)
- When the project structure has changed significantly

## Process

### Step 1 — Read base context

Read the Guild configuration files:

- `CLAUDE.md` — current instructions (contains `[PENDING: guild-specialize]` placeholders)
- `PROJECT.md` — identity and stack declared during init
- `SESSION.md` — current session state

### Step 2 — Explore the real project

Investigate the real project structure looking for:

**Dependencies and versions:**

- `package.json` (Node.js/frontend)
- `pom.xml` or `build.gradle` (Java)
- `requirements.txt` or `pyproject.toml` (Python)
- `Gemfile` (Ruby)
- `go.mod` (Go)
- `Cargo.toml` (Rust)

**Architecture and structure:**

- Folders `src/`, `app/`, `lib/`, `pkg/`, `internal/`
- Organization pattern: by layers, by features, by domain
- Project entry points

**Configuration and conventions:**

- `tsconfig.json`, `eslint.config.*`, `.prettierrc`
- `.env.example`, `.env.local` (environment variables — do NOT read real `.env`)
- `Dockerfile`, `docker-compose.yml`
- CI/CD: `.github/workflows/`, `.gitlab-ci.yml`

**Database and migrations:**

- Folder `migrations/`, `db/`, `prisma/`, `drizzle/`
- Configured ORM or query builder
- Existing schema

**Existing documentation:**

- `README.md` — project overview
- Internal documentation in `docs/`

### Step 3 — Enrich CLAUDE.md

Invoke the Tech Lead agent using Task tool with `model: "opus"` (reasoning tier) to replace all `[PENDING: guild-specialize]` placeholders in CLAUDE.md with real information:

- **Stack with exact versions**: extracted from dependency files
- **Folder structure explained**: what each main folder does
- **Detected code conventions**: linter, formatter, import style
- **Identified architecture patterns**: MVC, hexagonal, modular, etc.
- **Known environment variables**: listed from `.env.example`
- **Visible limitations and technical debt**: outdated dependencies, TODOs found
- **Useful project commands**: detected npm/make/cargo scripts

CLAUDE.md now uses zone markers (`<!-- guild:auto-start:ID -->` / `<!-- guild:auto-end:ID -->`) to delimit auto-generated sections. When enriching:

- Replace content BETWEEN the markers, preserving the markers themselves
- The following zones exist: `structure`, `architecture`, `conventions`, `env-vars`
- Do NOT modify content outside of zone markers (user-owned sections)
- If markers are missing (legacy project), replace `[PENDING: guild-specialize]` placeholders directly

### Step 4 — Specialize agents

Invoke the Tech Lead agent using Task tool with `model: "sonnet"` (execution tier) to add project-specific context for each agent in `.claude/agents/*.md`:

- **advisor.md**: real project domain, target users
- **tech-lead.md**: specific stack, detected patterns, architecture decisions
- **developer.md**: code conventions, main framework, file structure
- **code-reviewer.md**: lint rules, project patterns, anti-patterns to watch
- **qa.md**: testing framework, commands to run tests, current coverage
- **bugfix.md**: debugging stack, logs, available tools

When specializing agents, append a zone at the bottom of each agent file:

```markdown
<!-- guild:auto-start:agent-context -->
## Project-Specific Context
- Stack: [detected stack]
- Architecture: [detected patterns]
- Conventions: [detected conventions]
<!-- guild:auto-end:agent-context -->
```

This zone allows `guild-re-specialize` to update agent context later without touching the agent's core role definition.

Use the `Task` tool with `model: "sonnet"` to invoke each agent by reading their `.claude/agents/[name].md` if you need a specialized perspective to enrich their configuration.

The `model` parameter is resolved from the step's `model-tier`: reasoning→`"opus"`, execution→`"sonnet"`. System/gate steps run inline (no Task tool).

### Step 5 — Confirm

Present a summary of what was detected:

```text
Guild v1 specialized for [project-name]

Detected stack:
- [list of technologies with versions]

Architecture:
- [identified pattern]
- [main structure]

Updated agents:
- [list of agents with their applied specialization]

Run /session-start to see the full state.
```

### Step 6 — Commit enrichment immediately

**CRITICAL:** After enriching CLAUDE.md and agent files, commit the changes immediately as their own atomic commit. Do NOT leave them as unstaged changes — they are vulnerable to `git stash` and other operations.

```bash
git add CLAUDE.md .claude/agents/*.md
git commit -m "chore: enrich CLAUDE.md and agents via guild-specialize"
```

This ensures enrichment survives any subsequent git operations (stash, checkout, rebase).

## Example Session

```text
User: /guild-specialize

Guild Specialize analyzing project...

Tech Lead (opus) — Enriching CLAUDE.md...
Stack detected:
- Node.js 20.11.0, TypeScript 5.3.3
- React 18.2.0, Next.js 14.1.0
- PostgreSQL via Prisma 5.9.0

Architecture:
- Next.js App Router (src/app/)
- API routes in src/app/api/
- Shared components in src/components/

Tech Lead (sonnet) — Specializing agents...
Agents updated:
- developer.md: Specialized for Next.js + TypeScript
- qa.md: Configured for Vitest + Playwright

Run /session-start to see the full state.
```

## Important Notes

- NEVER read real `.env` files — only `.env.example` or `.env.local`
- If you cannot detect something with certainty, ask the user instead of assuming
- Prioritize accuracy over completeness — it is better to say "not detected" than to fabricate
- Agents should be specialized to the real stack, not generic
- NEVER use `git stash` in automated pipelines — use `wip:` commits instead
- CLAUDE.md changes must always be committed separately from feature code

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.