Skip to content
Back to skills

Operating System Development

ASecurity

Use when building or modifying an operating-system kernel, boot path, scheduler, memory manager, system call layer, or basic device support to work in a documented emulator or disposable machine, implement one kernel boundary at a time, and keep host-system changes out of the development loop. Trigger for OS, kernel, or low-level boot projects.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 10, 2026
testinggo

Security analysis

A100/100

Scanned October 10, 2026

npx -y skills add Manoj-11-Dahal/try-Skills --skill operating-system-development --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Operating System Development?

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

Security grade badge for Operating System Development
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/manoj-11-dahal-operating-system-development/badge)](https://www.skillsdirectory.com/skills/manoj-11-dahal-operating-system-development)

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: operating-system-development
description: "Use when building or modifying an operating-system kernel, boot path, scheduler, memory manager, system call layer, or basic device support to work in a documented emulator or disposable machine, implement one kernel boundary at a time, and keep host-system changes out of the development loop. Trigger for OS, kernel, or low-level boot projects."
---

# Operating System Development

## Overview

This skill applies when building or modifying an operating-system kernel, boot path, scheduler, memory manager, system call layer, or basic device support. Its intended outcome is to work in a documented emulator or disposable machine, implement one kernel boundary at a time, and keep host-system changes out of the development loop.

## When to Use

### Preserved source section: When to Use

Use for kernel and operating-system internals. State the target architecture and whether the project is a teaching kernel, research prototype, or system expected to boot on hardware.

## Scope

**Does:** Follow the task boundary stated under When to Use and Instructions.

**Does not:** See the preserved source boundaries below and under Stop Conditions.

### Source boundary statements from: Procedure

6. **Keep user programs contained.** Apply privilege separation and resource limits; never treat a teaching kernel as a secure sandbox without a threat analysis.

### Source boundary statements from: Safety and Acceptance

Do not flash firmware, change bootloaders, repartition disks, or run privileged host commands as an implicit test. Accept a slice only when it boots reproducibly in the declared environment and its invariants and failure behavior are covered by observable tests.

## Inputs

**Required:** See the preserved source input guidance below.

**Optional:** Not specified in source skill.

**Prerequisites:** Not specified in source skill.

### Preserved source section: Inputs

- CPU architecture, boot protocol, toolchain, emulator, and debug interface.
- Memory map, privilege model, interrupts, scheduling, system calls, and device goals.
- Build, test, and recovery method for the virtual machine or target hardware.

## Instructions

### Preserved source section: Procedure

1. **Create a reproducible boot path.** Pin toolchain versions, produce a minimal image, and capture emulator output. Keep boot and kernel initialization failures observable.
2. **Define machine boundaries.** Document privilege levels, address spaces, interrupt handling, calling conventions, and ownership of memory and devices.
3. **Add one primitive at a time.** Establish console output, exceptions, physical memory management, virtual memory, scheduling, and system calls in a sequence that preserves a known-good boot checkpoint.
4. **Enforce invariants.** Check alignment, ownership, permissions, stack bounds, locking, and cleanup at subsystem boundaries. Fail visibly instead of continuing with corrupted kernel state.
5. **Test with emulation and fault cases.** Exercise invalid system calls, allocation failure, interrupts, concurrent tasks, and restart behavior in the emulator. Use hardware only with explicit approval and recovery access.
6. **Keep user programs contained.** Apply privilege separation and resource limits; never treat a teaching kernel as a secure sandbox without a threat analysis.
7. **Record compatibility.** State which architecture, boot path, devices, and system-call subset are supported.

## Decision Rules

The following source conditional guidance is preserved verbatim; no unstated action is inferred.

### Source conditional guidance from: Safety and Acceptance

Do not flash firmware, change bootloaders, repartition disks, or run privileged host commands as an implicit test. Accept a slice only when it boots reproducibly in the declared environment and its invariants and failure behavior are covered by observable tests.

## Output Format

Not specified in source skill.

## Validation Checklist

- [ ] Verify the source-defined success criteria above.

## Edge Cases and Recovery

### Source edge/failure guidance from: Inputs

- Build, test, and recovery method for the virtual machine or target hardware.

### Source edge/failure guidance from: Procedure

1. **Create a reproducible boot path.** Pin toolchain versions, produce a minimal image, and capture emulator output. Keep boot and kernel initialization failures observable.
3. **Add one primitive at a time.** Establish console output, exceptions, physical memory management, virtual memory, scheduling, and system calls in a sequence that preserves a known-good boot checkpoint.
4. **Enforce invariants.** Check alignment, ownership, permissions, stack bounds, locking, and cleanup at subsystem boundaries. Fail visibly instead of continuing with corrupted kernel state.
5. **Test with emulation and fault cases.** Exercise invalid system calls, allocation failure, interrupts, concurrent tasks, and restart behavior in the emulator. Use hardware only with explicit approval and recovery access.

### Source edge/failure guidance from: Safety and Acceptance

Do not flash firmware, change bootloaders, repartition disks, or run privileged host commands as an implicit test. Accept a slice only when it boots reproducibly in the declared environment and its invariants and failure behavior are covered by observable tests.

## Examples

Not specified in source skill. The original provided no input/output example, and none has been invented.

## Success Criteria

### Preserved source section: Safety and Acceptance

Do not flash firmware, change bootloaders, repartition disks, or run privileged host commands as an implicit test. Accept a slice only when it boots reproducibly in the declared environment and its invariants and failure behavior are covered by observable tests.

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…