From sdlc
Authoritative reference and authoring guide for the Claude platform — both the Claude Code `.claude/` config layer (skills, subagents, output styles, hooks, plugins, settings) and the Anthropic Agent SDK (Managed Agents API: agents, sessions, threads, multiagent, skills). Use when authoring a skill / subagent / output style / hook / plugin manifest, when designing a multi-agent system, or when comparing CLI vs SDK and translating between them.
How this skill is triggered — by the user, by Claude, or both
Slash command
/sdlc:claude-platformWhen to use
User asks about `.claude/` structure, "how do I write a skill", "how do hooks work", "should this be a skill or subagent", "how do I ship a plugin", "what's the SDK equivalent", "translate this agent definition to the API", or otherwise wants canonical authoring guidance.
This skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Authoring reference for both Claude surfaces: the `.claude/` filesystem layer (Claude Code CLI) and the Anthropic Agent SDK (Managed Agents API).
cookbooks/drift-check.mdcookbooks/multiagent-coordination.mdcookbooks/skill-vs-subagent.mdcookbooks/unified-markdown-to-both.mdcookbooks/workflow-with-fork.mdreference/managed-agents-sdk.mdreference/output-styles.mdreference/plugins.mdreference/settings.mdreference/skills.mdreference/subagents.mdreference/variances.mdtemplates/output-style.mdtemplates/plugin-manifest.jsontemplates/skill-rich.mdtemplates/subagent-rich.mdAuthoring reference for both Claude surfaces: the .claude/ filesystem layer (Claude Code CLI) and the Anthropic Agent SDK (Managed Agents API).
This skill is reference material. Read the relevant section, then follow the linked detail file. Do not read everything at once — branch by what you're authoring.
| Surface | Definition format | Storage | Versioning |
|---|---|---|---|
Claude Code CLI (.claude/) | Markdown + YAML frontmatter | Filesystem (project / user / managed / plugin) | git |
| Anthropic Agent SDK (Managed Agents) | JSON via /v1/agents REST API | Server-side, immutable versions | API-managed (version increments) |
Both surfaces share concepts (system prompt, tools, MCP, skills, multi-agent), but the wire format and lifecycle differ. See reference/variances.md for the full mapping and cookbooks/unified-markdown-to-both.md for translating between them.
.claude/ (the full taxonomy)your-project/
├── CLAUDE.md # Always-on project instructions (loads every session)
├── .mcp.json # Project-scoped MCP servers (committed)
├── .worktreeinclude # Gitignored files to copy into worktrees
└── .claude/
├── settings.json # Permissions, hooks, statusLine, model, env, outputStyle, agent, skillOverrides
├── settings.local.json # Personal overrides (gitignored)
├── CLAUDE.md # Alt location for project CLAUDE.md
├── rules/<topic>.md # Topic-scoped instructions; optional `paths:` glob gating
├── skills/<name>/SKILL.md # Invocable skills (with optional bundled files)
├── commands/<name>.md # Legacy single-file form of skill (still works)
├── output-styles/<name>.md # System-prompt overrides
├── agents/<name>.md # Subagents
├── agent-memory/<agent>/ # Subagent persistent memory (committed)
└── agent-memory-local/ # Subagent memory, gitignored
Plus:
~/.claude/ mirrors the same layout for personal config across all projects.<plugin>/.claude-plugin/plugin.json + components in <plugin>/{skills,agents,hooks,commands,output-styles}/.Precedence (when same-named definitions exist at multiple scopes):
<plugin>:<skill> so don't collide).--agents CLI flag > project > user > plugin.Need always-on context? → CLAUDE.md (or .claude/rules/ with paths: globs)
Need on-demand workflow / reference? → skill (.claude/skills/<name>/SKILL.md)
Need isolated context, returns summary?→ subagent (.claude/agents/<name>.md)
Need parallel independent sessions? → agent teams (experimental) — see /en/agent-teams
Need deterministic side effect on event?→ hook (settings.json.hooks)
Need to bundle and ship the above? → plugin (.claude-plugin/plugin.json)
Need different system prompt persona? → output-style (.claude/output-styles/<name>.md)
Need to call from a hosted service? → SDK Agent (POST /v1/agents)
A skill can fork into a subagent (context: fork); a subagent can preload skills (skills: field). The two are intertwined — see cookbooks/skill-vs-subagent.md.
| Field | Skill | Subagent | Output style |
|---|---|---|---|
name | optional (defaults to dirname) | required | optional |
description | recommended | required | optional |
when_to_use | optional | — | — |
argument-hint | ✓ | — | — |
arguments | ✓ (named positional) | — | — |
allowed-tools | ✓ | — | — |
tools | — | ✓ allowlist | — |
disallowedTools | — | ✓ denylist | — |
disable-model-invocation | ✓ | — | — |
user-invocable | ✓ | — | — |
model | ✓ | ✓ | — |
effort | ✓ | ✓ | — |
context: fork | ✓ | — | — |
agent | ✓ (which subagent) | — | — |
permissionMode | — | ✓ | — |
maxTurns | — | ✓ | — |
skills | — | ✓ (preload list) | — |
mcpServers | — | ✓ | — |
hooks | ✓ | ✓ | — |
memory | — | ✓ (user/project/local) | — |
background | — | ✓ | — |
isolation: worktree | — | ✓ | — |
color | — | ✓ | — |
initialPrompt | — | ✓ (when run as --agent) | — |
paths | ✓ | — | — |
shell | ✓ (bash/powershell) | — | — |
keep-coding-instructions | — | — | ✓ |
force-for-plugin | — | — | ✓ (plugin only) |
Full per-field semantics live in:
.claude/ and SDKClaude Code's surface evolves; this skill captures it as of its last revision. Before authoring anything non-trivial, or on a recurring cadence, delegate to the claude-platform-drift-check subagent (.claude/agents/claude-platform-drift-check.md). It diffs each reference/*.md against canonical docs and returns a punch list. It is read-only — you apply changes deliberately.
Use the claude-platform-drift-check agent to verify this skill against current docs.
Recurring cadence options (start ad-hoc; only schedule once you've seen the report be useful):
/loop 1w Use the claude-platform-drift-check agent to verify this skill./schedule weekly "claude-platform-drift-check verifies the claude-platform skill"See cookbooks/drift-check.md for the full protocol.
This project's .claude/sdlc.yml defines artifact_paths and primitives (language, quality_profile, commit_style, task_management). New skills/agents/commands authored here should declare which primitives they consume and read paths from sdlc.yml rather than hardcoding. See .claude/skills/skill-authoring/SKILL.md for the project's specific SDLC component-creation conventions; this skill (claude-platform) is the broader platform reference that backs it.
/) decide whether to invoke. Put the key use case first; the combined description + when_to_use is truncated at 1,536 chars in the listing.SKILL.md.allowed-tools (skill) grants pre-approval; tools (subagent) is an allowlist; disallowedTools is a denylist. Plugin subagents cannot use hooks / mcpServers / permissionMode — copy the file into .claude/agents/ if you need them..env" in a system prompt is a request, not a guarantee. A PreToolUse hook with exit 2 is enforcement.settings.json require a session restart.npx claudepluginhub pattern-stack/claudecode-patterns --plugin sdlcProvides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.