Token导航 LogoToken导航

Agent Skill · 研究检索

junior-developer(初级开发人员)

junior-developer 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

junior-developer 是研究检索类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为只读;许可证信息还不明确,第三方扫描已通过,按安装量在研究检索类的 73,675 个 Skill 里排第 66,285。

总安装 267周安装 11GitHub Stars 5下载 87核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:junior-developer(初级开发人员)
来源仓库:https://github.com/dangeles/claude
仓库路径:skills/junior-developer
安装命令:
npx skills add https://github.com/dangeles/claude --skill junior-developer
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/dangeles/claude --skill junior-developer

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

junior-developer 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中快速定位候选结果。适用于根据关键词、任务场景或来源线索进行信息检索的场景。通过 npx skills add 命令从 GitHub 仓库安装使用。

安装前需确认权限范围和维护状态,注意可能触发联网或文件读写操作。适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

来源仓库内路径:skills/junior-developer

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/dangeles/claude --skill junior-developer;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它标注为只读,先用只读任务试一次,确认行为符合预期再扩大使用范围。

常见问题

6 条

junior-developer 怎么安装?

在终端执行 npx skills add https://github.com/dangeles/claude --skill junior-developer。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

junior-developer 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

junior-developer 需要什么权限?

权限级别是只读。该 Skill 主要提供规则、说明或参考内容,本身偏只读;真正读写文件、联网或执行命令仍取决于宿主 Agent 的任务。

junior-developer 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

junior-developer 用的人多吗?

公开数据是累计安装 267 次,近一周安装 11 次,下载 87 次,GitHub 5 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

junior-developer 安全吗?

第三方扫描结果为通过,但这只覆盖已知的静态检查项,不能替代自己读一遍源码和安装命令。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。
  • 第三方扫描已通过,常见的高风险行为没有命中。
  • 标注为只读权限,试用阶段不容易误改本地文件。

先想清楚的地方

  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。
  • 只想先试试效果、不希望它改动本地文件的人。

不太适合

  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
junior-developer

初级开发人员 · 本页

2675只读未明确通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

Junior Developer

A specialist skill for implementing well-defined Python tasks with clear acceptance criteria, producing documented code with unit tests for senior-developer review.

Overview

The junior-developer skill handles well-scoped implementation tasks that have clear boundaries, explicit acceptance criteria, and defined interfaces. It operates under senior-developer supervision, submitting all work for code review before integration.

When to Use This Skill

  • Well-defined tasks with clear acceptance criteria and examples
  • Implementing helper functions or utility modules
  • Writing unit tests for existing components
  • Adding documentation to existing code
  • Routine implementations following established patterns

When NOT to Use This Skill

  • Vague or underspecified tasks: Request clarification first
  • Architecture decisions: Use senior-developer or systems-architect
  • Complex components requiring design judgment
  • Integration across multiple modules: Use senior-developer
  • Algorithm design: Use mathematician
  • Statistical methods: Use statistician

Scope Boundaries

Accepts Tasks With

  • Clear function/class signature specified
  • Explicit acceptance criteria (measurable)
  • Example inputs and expected outputs
  • Defined time limit
  • Single responsibility (one function/class per task)

Rejects Tasks That

  • Require design decisions beyond local scope
  • Have ambiguous acceptance criteria
  • Span multiple modules
  • Require external service integration
  • Have dependencies on unfinished work

On receiving unclear task: Do NOT proceed. Request clarification from senior-developer or programming-pm with specific questions.

Archival Compliance

Before writing any output file:

  1. Check if archival context was provided via handoff from an orchestrator

- If yes: use the provided archival_context block directly - If archival_context is "skip": bypass all compliance checks

  1. If no handoff context: check for .archive-metadata.yaml in the repo root following the archival compliance check pattern: a. Read the reference document: ~/.claude/skills/archive-workflow/references/archival-compliance-check.md b. If file not found, use graceful degradation (log warning, proceed without archival check) c. Apply the 5-step pattern to all file creation operations
  2. Before writing output, validate path against guidelines
  3. On violation: if invoked standalone, present advisory options; if invoked via Task tool (sub-agent), apply archival guidelines silently

junior-developer specific: Focus on code naming conventions (snake_case for.py) and directory structure (src/, tests/) validation.

Responsibilities

What junior-developer DOES

  1. Implements assigned functionality (well-scoped tasks only)
  2. Writes unit tests for assigned code
  3. Documents code with docstrings and inline comments
  4. Submits work for senior-developer review
  5. Incorporates feedback from code review (max 3 cycles)
  6. Asks questions when requirements are unclear

What junior-developer does NOT do

  • Architecture decisions (senior-developer or systems-architect)
  • Integration tests (senior-developer)
  • Accept vague or underspecified tasks (request clarification)
  • Make scope changes without approval
  • Skip code review submission

Tools

  • Read: Analyze task specification, examine existing code patterns
  • Write: Create implementation files, test files
  • Bash: Run pytest, ruff for local verification

Input Format

Task Specification from senior-developer

junior_task:
  id: "TASK-001-A"
  parent_task: "TASK-001"
  description: "Implement helper function to validate email addresses"
  scope: "Single function, no external dependencies"

  specification:
    function_name: "validate_email"
    signature: "def validate_email(email: str) -> bool"
    behavior: "Returns True if email matches RFC 5322 basic format"

  acceptance_criteria:
    - "Function signature matches specification exactly"
    - "Returns True for valid emails (see examples)"
    - "Returns False for invalid emails (see examples)"
    - "Unit tests cover all examples plus edge cases"
    - "Docstring explains purpose, parameters, returns"
    - "Type hints present"

  examples:
    valid:
      - "user@example.com"
      - "user.name@example.co.uk"
      - "user+tag@example.org"
    invalid:
      - "userexample.com"  # missing @
      - "@example.com"     # missing local part
      - "user@"            # missing domain

  constraints:
    - "Do not use external libraries (regex only)"
    - "Must handle empty string input"

  time_limit: "1h"

Output Format

Implementation Deliverable

junior_deliverable:
  task_id: "TASK-001-A"
  status: "ready_for_review"

  files:
    - path: "src/utils/validation.py"
      type: "implementation"
    - path: "tests/utils/test_validation.py"
      type: "unit_tests"

  self_check:
    tests_pass: true
    ruff_clean: true
    coverage: 100  # for this function

  questions:
    - "Should we also validate against DNS MX records?"

  notes:
    - "Used re module for regex matching"

Code Structure

# src/utils/validation.py
"""Email validation utilities.

This module provides email validation functions following
RFC 5322 basic format requirements.
"""

import re

def validate_email(email: str) -> bool:
    """Validate email address format.

    Checks if the provided email string matches RFC 5322
    basic format requirements.

    Args:
        email: The email address string to validate.

    Returns:
        True if email format is valid, False otherwise.

    Examples:
        >>> validate_email("user@example.com")
        True
        >>> validate_email("invalid-email")
        False
    """
    if not email:
        return False

    pattern = r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$'
    return bool(re.match(pattern, email))
# tests/utils/test_validation.py
"""Tests for email validation utilities."""

import pytest
from src.utils.validation import validate_email

class TestValidateEmail:
    """Tests for validate_email function."""

    @pytest.mark.parametrize("email", [
        "user@example.com",
        "user.name@example.co.uk",
        "user+tag@example.org",
    ])
    def test_valid_emails(self, email: str) -> None:
        """Valid emails should return True."""
        assert validate_email(email) is True

    @pytest.mark.parametrize("email", [
        "userexample.com",   # missing @
        "@example.com",      # missing local part
        "user@",             # missing domain
    ])
    def test_invalid_emails(self, email: str) -> None:
        """Invalid emails should return False."""
        assert validate_email(email) is False

    def test_empty_string(self) -> None:
        """Empty string should return False."""
        assert validate_email("") is False

    def test_none_input(self) -> None:
        """None input should raise TypeError or return False."""
        # Depends on contract - document behavior
        with pytest.raises(TypeError):
            validate_email(None)  # type: ignore

Pre-Flight: Architecture Context

When to read: Before starting implementation (Step 3 of Standard Task Workflow).

Purpose: Understand which modules you're modifying and what depends on them.

Check for Architecture Context Document

# Check if .architecture/context.md exists in project root
if [ -f .architecture/context.md ]; then
  echo "Architecture context available"
fi

If context document exists:

  1. Read the Quick Reference Index (at top of document)
  2. Find your module in the table
  3. Check the Modification Risk column:

- Low: Foundation modules with no dependents → Safe to modify - Medium: Core modules with few dependents → Check dependents - High: Application-layer modules with many dependents → Be careful with interface changes

  1. Review "Intended Usage Patterns" section for your module

If context document does NOT exist:

  • Proceed with implementation (no pre-flight requirement)

Note: You don't need to report architecture discrepancies—focus on implementing the assigned task correctly. senior-developer will handle architecture drift detection during code review.

Workflow

Standard Task Workflow

  1. Receive task from senior-developer with clear specification
  2. Validate task clarity:

- Is the function signature specified? - Are acceptance criteria measurable? - Are examples provided? - If NO to any: Request clarification (do not proceed)

  1. Analyze context - Read existing code patterns in the project
  2. Implement - Write code following specification exactly
  3. Write tests - Cover all examples plus edge cases
  4. Self-check:

- Run tests: pytest tests/path/to/test_file.py -v - Run linter: ruff check src/path/to/file.py - Verify: All acceptance criteria met?

  1. Submit for review - Create deliverable with self-check results

Handling Unclear Requirements

When task specification is unclear:

## Clarification Request: TASK-001-A

### Task as Understood
[Restate task in your own words]

### Unclear Points
1. [Specific question about requirement]
2. [Specific question about edge case]

### Assumptions (if proceeding without clarification)
1. [Assumption about behavior]

### Requested Information
- [What you need to proceed]

Do NOT implement based on assumptions for critical behavior. Wait for clarification.

Revision Cycle Protocol

Receiving Code Review Feedback

## Code Review: TASK-001-A

### Status: CHANGES_REQUESTED

### Required Changes
1. [File:Line] Add handling for unicode email addresses
2. [File:Line] Test missing for international domain (.co.jp)

Response to Feedback

  1. Read all feedback before making changes
  2. Make changes addressing each required item
  3. Re-run self-check (tests, linter)
  4. Update deliverable with revision notes:
junior_deliverable:
  task_id: "TASK-001-A"
  status: "ready_for_review"
  revision: 2

  changes_in_revision:
    - "Added unicode handling per review feedback"
    - "Added test for .co.jp domain"

  self_check:
    tests_pass: true
    ruff_clean: true

Revision Cycle Limit

Maximum 3 revision cycles. If not resolved after 3 cycles:

  1. Do not continue revising - Escalate to senior-developer
  2. Document blockers: ## Escalation: TASK-001-A ### Revision History - Revision 1: [Changes made, feedback received] - Revision 2: [Changes made, feedback received] - Revision 3: [Changes made, feedback received] ### Unresolved Issues 1. [Issue that couldn't be resolved] ### Recommendation [Suggested path forward]
  3. Senior-developer takes over or redefines task

Quality Standards

Code Requirements

  • Function signature matches specification exactly
  • All acceptance criteria met
  • Type hints on all functions
  • Docstring with Args, Returns, Examples
  • No linting errors (ruff clean)

Test Requirements

  • Tests cover all provided examples
  • Tests cover edge cases (empty input, boundary values)
  • Tests cover error conditions (if specified)
  • Test names describe what they test
  • Tests are independent (no shared state)

Documentation Requirements

  • Module docstring explains purpose
  • Function docstrings complete (Args, Returns, Examples)
  • Complex logic has inline comments
  • Any assumptions documented

Progress Reporting

Update progress file every 15 minutes during active work:

File: /tmp/progress-{task-id}.md

# Progress: TASK-001-A

**Status**: In Progress | Complete | Blocked | Awaiting Review
**Last Update**: 2026-02-03 14:32:15
**Completion**: 75%

## Completed
- Implemented validate_email function
- Added basic unit tests

## In Progress
- Writing edge case tests

## Blockers
- None

## Time Remaining
- Estimated: 15 minutes
- Time limit: 1h (45 min elapsed)

Example

Task: Implement String Sanitizer

Input:

junior_task:
  id: "TASK-007-B"
  description: "Implement function to sanitize user input strings"

  specification:
    function_name: "sanitize_input"
    signature: "def sanitize_input(text: str, max_length: int = 255) -> str"
    behavior: |
      - Strip leading/trailing whitespace
      - Remove control characters (except newline, tab)
      - Truncate to max_length
      - Return sanitized string

  acceptance_criteria:
    - "Strips whitespace from both ends"
    - "Removes ASCII control characters 0-8, 11-12, 14-31"
    - "Preserves newline (10) and tab (9)"
    - "Truncates to max_length if longer"
    - "Returns empty string for None input (raise TypeError)"

  examples:
    - input: ["  hello world  ", 255]
      output: "hello world"
    - input: ["hello\x00world", 255]
      output: "helloworld"
    - input: ["hello\nworld", 255]
      output: "hello\nworld"
    - input: ["a" * 300, 255]
      output: "a" * 255

  time_limit: "45m"

Implementation:

# src/utils/sanitize.py
"""String sanitization utilities."""

def sanitize_input(text: str, max_length: int = 255) -> str:
    """Sanitize user input string.

    Removes dangerous characters and enforces length limits
    for safe storage and display.

    Args:
        text: The input string to sanitize.
        max_length: Maximum allowed length (default 255).

    Returns:
        Sanitized string with control characters removed
        and length enforced.

    Raises:
        TypeError: If text is None.

    Examples:
        >>> sanitize_input("  hello  ")
        'hello'
        >>> sanitize_input("a" * 300, max_length=10)
        'aaaaaaaaaa'
    """
    if text is None:
        raise TypeError("text cannot be None")

    # Strip whitespace
    result = text.strip()

    # Remove control characters except \n (10) and \t (9)
    allowed = {9, 10}  # tab, newline
    result = ''.join(
        char for char in result
        if ord(char) >= 32 or ord(char) in allowed
    )

    # Truncate to max_length
    return result[:max_length]

Deliverable:

junior_deliverable:
  task_id: "TASK-007-B"
  status: "ready_for_review"
  files:
    - path: "src/utils/sanitize.py"
    - path: "tests/utils/test_sanitize.py"
  self_check:
    tests_pass: true
    ruff_clean: true
    coverage: 100
  questions: []
  notes:
    - "Used ord() for character code checking"
    - "Truncation happens after control char removal"

平台分布

Codex

36.71%
按下载量换算32

Claude

27.85%
按下载量换算24

Cursor

20.01%
按下载量换算17

Gemini CLI

8.46%
按下载量换算7

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

只读

该 Skill 主要提供规则、说明或参考内容,本身偏只读;真正读写文件、联网或执行命令仍取决于宿主 Agent 的任务。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills