A
AgentSkill
SkillsAbout
A

AgentSkill

ยฉ 2025

Not affiliated with Anthropic

Back to Skills

Starter Kit

Starter template repo for all your Claude Code needs: configs, skills, agents and more.

Coding
serpro69
20
4
Updated Dec 12, 2025
claudeclaude-aiclaude-codeclaude-configclaude-skillsgojavajskotlinpythonserena-mcpstarter-kitstarter-projectstarter-templatetask-master-aitemplate-repositorytypescriptvibe-coding
View on GitHub

Installation

git clone https://github.com/serpro69/claude-starter-kit ~/.claude/skills/starter-kit

SKILL.md

# claude-starter-kit

[![Mentioned in Awesome Claude Code](https://awesome.re/mentioned-badge-flat.svg)](https://github.com/hesreallyhim/awesome-claude-code)

Starter template repo for all your Claude Code needs

## About

This is a starter template repository designed to provide a complete development environment for Claude-Code with pre-configured MCP servers and tools for AI-powered, collaborative, development workflows. The defaults are intentionally minimal, containing only configuration templates for three primary systems: Claude Code, Serena, and Task Master. Users can opt-in to additional claude-code features like [skills](https://code.claude.com/docs/en/skills), [plugins](https://code.claude.com/docs/en/plugins), [hooks](https://code.claude.com/docs/en/hooks-guide), [sub-agents](https://code.claude.com/docs/en/sub-agents), and so on.

> [!NOTE]
> This configuration also focuses on collaborative development workflows where multiple developers are working on the same code-base, which is one of the reasons why most of claude- and mcp-related settings are local-scoped (i.e. most claude settings will be in `.claude/settings.local.json` so they can be shared with the entire dev team, and not in user-scoped `~/claude/settings.json`, which are harder to share with others.)
>
> For this same reason, most of the claude/mcp configuration files are not git-ignored, but instead committed to the repo.

## Features

- **๐Ÿค– Four Pre-Configured MCP Servers**
  - **Context7**: Up-to-date library documentation and code examples
  - **Serena**: Semantic code analysis with LSP integration for intelligent navigation
  - **Task Master**: AI-powered task management and workflow orchestration
  - **Pal**: Multi-model AI integration for debugging, code review, and planning

- **โš™๏ธ Automated Template Cleanup**
  - GitHub Actions workflow for one-click repository initialization
  - Configurable inputs for language detection and Task Master settings
  - Automatic cleanup of template-specific files for a clean starting point

- **๐Ÿ“‹ 50+ Task Master Slash Commands**
  - Pre-configured hierarchical command structure under `/project:tm/`
  - Commands for task management, complexity analysis, PRD parsing, and workflows
  - Complete command reference in `.claude/TM_COMMANDS_GUIDE.md`

- **๐Ÿ” Intelligent Code Navigation**
  - Serena's symbol-based code analysis for efficient exploration
  - Token-efficient reading with overview and targeted symbol queries
  - Reference tracking and semantic understanding across your codebase

- **๐Ÿ“ Configuration Templates**
  - Ready-to-use templates for `.serena/`, `.taskmaster/`, and `.claude/` directories
  - Placeholder-based customization with repository-specific values
  - Permission configuration for tool access control

- **๐Ÿ“š Comprehensive Documentation**
  - Project-level `CLAUDE.md` with integration guidance
  - Task Master integration guide with 400+ lines of best practices
  - Complete workflow specification and command references

## Requirements

You will need the following on your workstation:

### Tools

- [npm](https://www.npmjs.com/package/npm)
- [uv](https://docs.astral.sh/uv/)

### API Keys

- [Context7](https://context7.com/) API key
- Gemini API key for [pal-mcp-server](https://github.com/BeehiveInnovations/pal-mcp-server). You don't need to use gemini and can configure pal with any other provider/models. See [pal getting started docs](https://github.com/BeehiveInnovations/pal-mcp-server/blob/main/docs/getting-started.md) for more details.

### Claude `claude.json` mcp settings

You need to have `mcpServers` present and configured in your `~/.claude.json`. 

> [!NOTE]
> The reason we put them in the user's `claude.json` configuration, instead of repo local settings, is to prevent committing API keys, which some MCP servers might require.
>
> These configs are also generic enough that they can be re-used across every project, and hence is better placed in user's settings.

Here's an example `mcpServers` object that you can use as a reference:

```json
{
  "context7": {
    "type": "http",
    "url": "https://mcp.context7.com/mcp",
    "headers": {
      "CONTEXT7_API_KEY": "YOUR_CONTEXT7_API_KEY"
    }
  },
  "serena": {
    "type": "stdio",
    "command": "uvx",
    "args": [
      "--from",
      "git+https://github.com/oraios/serena",
      "serena",
      "start-mcp-server",
      "--context",
      "ide-assistant",
      "--project",
      "."
    ],
    "env": {}
  },
  "task-master-ai": {
    "type": "stdio",
    "command": "npx",
    "args": [
      "-y",
      "--package=task-master-ai",
      "task-master-ai"
    ],
    "headers": {}
  },
  "pal": {
    "command": "sh",
    "args": [
      "-c",
      "$HOME/.local/bin/uvx --from git+https://github.com/BeehiveInnovations/pal-mcp-server.git pal-mcp-server"
    ],
    "env": {
      "PATH": "/usr/local/bin:/usr/bin:/bin:~/.local/bin",
      # see https://github.com/BeehiveInnovations/pal-mcp-server/blob/main/docs/configuration.md#model-configuration
      "DEFAULT_MODEL": "auto",
      # see https://github.com/BeehiveInnovations/pal-mcp-server/blob/main/docs/advanced-usage.md#thinking-modes
      "DEFAULT_THINKING_MODE_THINKDEEP": "high",
      "GEMINI_API_KEY": "YOUR_GEMINI_API_KEY",
      # see https://github.com/BeehiveInnovations/pal-mcp-server/blob/main/docs/configuration.md#model-usage-restrictions
      "GOOGLE_ALLOWED_MODELS": "gemini-3-pro-preview,gemini-2.5-pro,gemini-2.5-flash"
    }
  }
}
```

## Quick Start

1. [Create a new project based on this template repository](https://github.com/new?template_name=claude-starter-kit&template_owner=serpro69) using the Use this template button. 

2. A scaffold repo will appear in your GitHub account.

3. Run the `template-cleanup` workflow from your new repo, and provide some inputs for your specific use-case.

**Serena MCP Configuration Inputs:**

- `LANGUAGE` - the main language(s) of your project (see [Serena Programming Language Support & Semantic Analysis Capabilities](https://github.com/oraios/serena?tab=readme-ov-file#programming-language-support--semantic-analysis-capabilities) for more details on supported languages)

- `SERENA_INITIAL_PROMPT` - initial prompt for the project; it will always be given to the LLM upon activating the project

> [!TIP]
> Take a look at serena [project.yaml](./.github/templates/serena/project.yml) configuration file for more details.

**Task-Master MCP Configuration Inputs:**

- `TM_CUSTOM_SYSTEM_PROMPT` - custom system prompt to override Claude Code's default behavior

- `TM_APPEND_SYSTEM_PROMPT` - append additional content to the system prompt

- `TM_PERMISSION_MODE` - permission mode for file system operations

> [!TIP]
> See [Task Master Advanced Claude Code Settings Usage](https://github.com/eyaltoledano/claude-task-master/blob/main/docs/examples/claude-code-usage.md#advanced-settings-usage) for more details on the above parameters.

4. Clone your new repo and cd into it

    Run `claude /mcp`, you should see the mcp servers configured and active:

    ```
    > /mcp
    โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
    โ”‚ Manage MCP servers                                                 โ”‚
    โ”‚                                                                    โ”‚
    โ”‚ โฏ 1. context7                  โœ” connected ยท Enter to view details โ”‚
    โ”‚   2. serena                    โœ” connected ยท Enter to view details โ”‚
    โ”‚   3. task-master-ai            โœ” connected ยท Enter to view details โ”‚
    โ”‚   4. pal                       โœ” connected ยท Enter to view details โ”‚
    โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
    ```

    Run `claude "list your skills"`, you should see the skills from this repo present:

    ```
    > list your skills

    โ— I have access to the following skills:

      Available Skills

      analysis-process
      Turn the idea for a feature into a fully-formed PRD/design/specification and implementation-plan. Use in pre-implementation (idea-to-design) stages to make sure you
      understand the requirements and have a correct implementation plan before writing actual code.

      documentation-process
      After implementing a new feature or fixing a bug, make sure to document the changes. Use after finishing the implementation phase for a feature or a bug-fix.

      task-master-process
      Workflow for task-master-ai when working with task-master tasks and PRDs. Use when creating or parsing PRDs from requirements, adding/updating/expanding tasks and other task-master-ai operations.

      testing-process
      Guidelines describing how to test the code. Use whenever writing new or updating existing code, for example after implementing a new feature or fixing a bug.

      ---
      These skills provide specialized workflows for different stages of development. You can invoke any of them by asking me to use a specific skill (e.g., "use the analysis-process skill" or "help me document this feature").
    ```

5. Update the `README.md` with a full description of your project, then run `chmod +x bootstrap.sh && ./bootstrap.sh` to finalize initialization of the repo.

6. Profit

## Examples

Some examples of the actual claude-code workflows that were executed using templates, configs, skills, and other tools from this repository can be found in [examples](./examples) directory.